﻿using OpenMir2;
using OpenMir2.Common;

namespace SystemModule.Conf
{
    public class ServerConf : ConfigFile
    {
        public ServerConf(string fileName) : base(fileName)
        {
            Load();
        }

        public void LoadConfig()
        {
            SystemShare.Config.ConnctionString = ReadWriteString("DataBase", "ConnctionString", SystemShare.Config.ConnctionString);
            SystemShare.Config.sDBType = ReadWriteString("DataBase", "DbType", SystemShare.Config.sDBType);
            SystemShare.ServerIndex = ReadWriteByte("Server", "ServerIndex", SystemShare.ServerIndex);
            SystemShare.Config.ShutdownSeconds = ReadWriteInteger("Server", "ShutdownSeconds", SystemShare.Config.ShutdownSeconds);
            SystemShare.Config.ServerName = ReadWriteString("Server", "ServerName", SystemShare.Config.ServerName);
            SystemShare.Config.nServerNumber = ReadWriteInteger("Server", "ServerNumber", SystemShare.Config.nServerNumber);
            SystemShare.Config.VentureServer = string.Compare(ReadWriteString("Server", "VentureServer", "FALSE"), "TRUE", StringComparison.OrdinalIgnoreCase) == 0;
            SystemShare.Config.PayMentMode = ReadWriteByte("Server", "PayMentMode", SystemShare.Config.PayMentMode);
            SystemShare.Config.TestServer = string.Compare(ReadWriteString("Server", "TestServer", "FALSE"), "TRUE", StringComparison.OrdinalIgnoreCase) == 0;
            SystemShare.Config.TestLevel = ReadWriteInteger("Server", "TestLevel", SystemShare.Config.TestLevel);
            SystemShare.Config.TestGold = ReadWriteInteger("Server", "TestGold", SystemShare.Config.TestGold);
            SystemShare.Config.TestUserLimit = ReadWriteInteger("Server", "TestServerUserLimit", SystemShare.Config.TestUserLimit);
            SystemShare.Config.ServiceMode = ReadWriteString("Server", "ServiceMode", "FALSE").CompareTo("TRUE") == 0;
            SystemShare.Config.PveServer = ReadWriteString("Server", "NonPKServer", "FALSE").CompareTo("TRUE") == 0;
            SystemShare.Config.ViewHackMessage = ReadWriteString("Server", "ViewHackMessage", HUtil32.BoolToStr(SystemShare.Config.ViewHackMessage)).CompareTo("TRUE") == 0;
            SystemShare.Config.ViewAdmissionFailure = ReadWriteString("Server", "ViewAdmissionFailure", HUtil32.BoolToStr(SystemShare.Config.ViewAdmissionFailure)).CompareTo("TRUE") == 0;
            SystemShare.Config.sGateAddr = ReadWriteString("Server", "GateAddr", SystemShare.Config.sGateAddr);
            SystemShare.Config.nGatePort = ReadWriteInteger("Server", "GatePort", SystemShare.Config.nGatePort);
            SystemShare.Config.sDBAddr = ReadWriteString("Server", "DBAddr", SystemShare.Config.sDBAddr);
            SystemShare.Config.nDBPort = ReadWriteInteger("Server", "DBPort", SystemShare.Config.nDBPort);
            SystemShare.Config.sIDSAddr = ReadWriteString("Server", "IDSAddr", SystemShare.Config.sIDSAddr);
            SystemShare.Config.nIDSPort = ReadWriteInteger("Server", "IDSPort", SystemShare.Config.nIDSPort);
            SystemShare.Config.MasterSrvAddr = ReadWriteString("Server", "MsgSrvAddr", SystemShare.Config.MasterSrvAddr);
            SystemShare.Config.MasterSrvPort = ReadWriteInteger("Server", "MsgSrvPort", SystemShare.Config.MasterSrvPort);
            SystemShare.Config.LogServerAddr = ReadWriteString("Server", "LogServerAddr", SystemShare.Config.LogServerAddr);
            SystemShare.Config.LogServerPort = ReadWriteInteger("Server", "LogServerPort", SystemShare.Config.LogServerPort);
            SystemShare.Config.EnableMarket = ReadWriteBool("Server", "EnableMarket", SystemShare.Config.EnableMarket);
            SystemShare.Config.MarketSrvAddr = ReadWriteString("Server", "MarketSrvAddr", SystemShare.Config.MarketSrvAddr);
            SystemShare.Config.MarketSrvPort = ReadWriteInteger("Server", "MarketSrvPort", SystemShare.Config.MarketSrvPort);
            SystemShare.Config.MarketToken = ReadWriteString("Server", "MarketToken", SystemShare.Config.MarketToken);
            SystemShare.Config.EnableChatServer = ReadWriteBool("Server", "EnableChatServer", SystemShare.Config.EnableChatServer);
            SystemShare.Config.ChatSrvAddr = ReadWriteString("Server", "ChatSrvAddr", SystemShare.Config.ChatSrvAddr);
            SystemShare.Config.ChatSrvPort = ReadWriteInteger("Server", "ChatSrvPort", SystemShare.Config.ChatSrvPort);
            SystemShare.Config.ChatSrvToken = ReadWriteString("Server", "ChatSrvToken", SystemShare.Config.ChatSrvToken);
            SystemShare.Config.DiscountForNightTime = ReadWriteString("Server", "DiscountForNightTime", HUtil32.BoolToStr(SystemShare.Config.DiscountForNightTime)).CompareTo("TRUE") == 0;
            SystemShare.Config.HalfFeeStart = ReadWriteInteger("Server", "HalfFeeStart", SystemShare.Config.HalfFeeStart);
            SystemShare.Config.HalfFeeEnd = ReadWriteInteger("Server", "HalfFeeEnd", SystemShare.Config.HalfFeeEnd);
            SystemShare.HumLimit = ReadWriteInteger("Server", "HumLimit", SystemShare.HumLimit);
            SystemShare.MonLimit = ReadWriteInteger("Server", "MonLimit", SystemShare.MonLimit);
            SystemShare.ZenLimit = ReadWriteInteger("Server", "ZenLimit", SystemShare.ZenLimit);
            SystemShare.NpcLimit = ReadWriteInteger("Server", "NpcLimit", SystemShare.NpcLimit);
            SystemShare.SocLimit = ReadWriteInteger("Server", "SocLimit", SystemShare.SocLimit);
            SystemShare.DecLimit = ReadWriteInteger("Server", "DecLimit", SystemShare.DecLimit);
            SystemShare.Config.SendBlock = ReadWriteInteger("Server", "SendBlock", SystemShare.Config.SendBlock);
            SystemShare.Config.CheckBlock = ReadWriteInteger("Server", "CheckBlock", SystemShare.Config.CheckBlock);
            SystemShare.SocCheckTimeOut = ReadWriteInteger("Server", "SocCheckTimeOut", SystemShare.SocCheckTimeOut);
            SystemShare.Config.AvailableBlock = ReadWriteInteger("Server", "AvailableBlock", SystemShare.Config.AvailableBlock);
            SystemShare.Config.GateLoad = ReadWriteInteger("Server", "GateLoad", SystemShare.Config.GateLoad);
            SystemShare.Config.UserFull = ReadWriteInteger("Server", "UserFull", SystemShare.Config.UserFull);
            SystemShare.Config.ZenFastStep = ReadWriteInteger("Server", "ZenFastStep", SystemShare.Config.ZenFastStep);
            SystemShare.Config.ProcessMonstersTime = ReadWriteInteger("Server", "ProcessMonstersTime", SystemShare.Config.ProcessMonstersTime);
            SystemShare.Config.RegenMonstersTime = ReadWriteInteger("Server", "RegenMonstersTime", SystemShare.Config.RegenMonstersTime);
            SystemShare.Config.HumanGetMsgTime = ReadWriteInteger("Server", "HumanGetMsgTimeLimit", SystemShare.Config.HumanGetMsgTime);
            SystemShare.Config.BaseDir = ReadWriteString("Share", "BaseDir", SystemShare.Config.BaseDir);
            SystemShare.Config.GuildDir = ReadWriteString("Share", "GuildDir", SystemShare.Config.GuildDir);
            SystemShare.Config.GuildFile = ReadWriteString("Share", "GuildFile", SystemShare.Config.GuildFile);
            SystemShare.Config.VentureDir = ReadWriteString("Share", "VentureDir", SystemShare.Config.VentureDir);
            SystemShare.Config.ConLogDir = ReadWriteString("Share", "ConLogDir", SystemShare.Config.ConLogDir);
            SystemShare.Config.CastleDir = ReadWriteString("Share", "CastleDir", SystemShare.Config.CastleDir);
            SystemShare.Config.CastleFile = ReadWriteString("Share", "CastleFile", SystemShare.Config.CastleDir + "List.txt");
            SystemShare.Config.EnvirDir = ReadWriteString("Share", "EnvirDir", SystemShare.Config.EnvirDir);
            SystemShare.Config.MapDir = ReadWriteString("Share", "MapDir", SystemShare.Config.MapDir);
            SystemShare.Config.NoticeDir = ReadWriteString("Share", "NoticeDir", SystemShare.Config.NoticeDir);

            // 名称设置
            SystemShare.Config.HealSkill = ReadWriteString("Names", "HealSkill", SystemShare.Config.HealSkill);
            SystemShare.Config.FireBallSkill = ReadWriteString("Names", "FireBallSkill", SystemShare.Config.FireBallSkill);
            SystemShare.Config.ClothsMan = ReadWriteString("Names", "ClothsMan", SystemShare.Config.ClothsMan);
            SystemShare.Config.ClothsWoman = ReadWriteString("Names", "ClothsWoman", SystemShare.Config.ClothsWoman);
            SystemShare.Config.WoodenSword = ReadWriteString("Names", "WoodenSword", SystemShare.Config.WoodenSword);
            SystemShare.Config.Candle = ReadWriteString("Names", "Candle", SystemShare.Config.Candle);
            SystemShare.Config.BasicDrug = ReadWriteString("Names", "BasicDrug", SystemShare.Config.BasicDrug);
            SystemShare.Config.GoldStone = ReadWriteString("Names", "GoldStone", SystemShare.Config.GoldStone);
            SystemShare.Config.SilverStone = ReadWriteString("Names", "SilverStone", SystemShare.Config.SilverStone);
            SystemShare.Config.SteelStone = ReadWriteString("Names", "SteelStone", SystemShare.Config.SteelStone);
            SystemShare.Config.CopperStone = ReadWriteString("Names", "CopperStone", SystemShare.Config.CopperStone);
            SystemShare.Config.BlackStone = ReadWriteString("Names", "BlackStone", SystemShare.Config.BlackStone);
            SystemShare.Config.GemStone1 = ReadWriteString("Names", "Gem1Stone", SystemShare.Config.GemStone1);
            SystemShare.Config.GemStone2 = ReadWriteString("Names", "Gem2Stone", SystemShare.Config.GemStone2);
            SystemShare.Config.GemStone3 = ReadWriteString("Names", "Gem3Stone", SystemShare.Config.GemStone3);
            SystemShare.Config.GemStone4 = ReadWriteString("Names", "Gem4Stone", SystemShare.Config.GemStone4);
            SystemShare.Config.Zuma[0] = ReadWriteString("Names", "Zuma1", SystemShare.Config.Zuma[0]);
            SystemShare.Config.Zuma[1] = ReadWriteString("Names", "Zuma2", SystemShare.Config.Zuma[1]);
            SystemShare.Config.Zuma[2] = ReadWriteString("Names", "Zuma3", SystemShare.Config.Zuma[2]);
            SystemShare.Config.Zuma[3] = ReadWriteString("Names", "Zuma4", SystemShare.Config.Zuma[3]);
            SystemShare.Config.Bee = ReadWriteString("Names", "Bee", SystemShare.Config.Bee);
            SystemShare.Config.Spider = ReadWriteString("Names", "Spider", SystemShare.Config.Spider);
            SystemShare.Config.WomaHorn = ReadWriteString("Names", "WomaHorn", SystemShare.Config.WomaHorn);
            SystemShare.Config.ZumaPiece = ReadWriteString("Names", "ZumaPiece", SystemShare.Config.ZumaPiece);
            SystemShare.Config.Skeleton = ReadWriteString("Names", "Skeleton", SystemShare.Config.Skeleton);
            SystemShare.Config.Dragon = ReadWriteString("Names", "Dragon", SystemShare.Config.Dragon);
            SystemShare.Config.Dragon1 = ReadWriteString("Names", "Dragon1", SystemShare.Config.Dragon1);
            SystemShare.Config.Angel = ReadWriteString("Names", "Angel", SystemShare.Config.Angel);
            SystemShare.Config.GameGoldName = ReadWriteString("Names", "GameGold", SystemShare.Config.GameGoldName);
            SystemShare.Config.GamePointName = ReadWriteString("Names", "GamePoint", SystemShare.Config.GamePointName);
            SystemShare.Config.PayMentPointName = ReadWriteString("Names", "PayMentPointName", SystemShare.Config.PayMentPointName);

            // 游戏设置
            SystemShare.Config.ItemNumber = ReadWriteInteger("Setup", "ItemNumber", SystemShare.Config.ItemNumber);
            SystemShare.Config.ItemNumber += SystemShare.RandomNumber.Random(10000);
            SystemShare.Config.ItemNumberEx = ReadWriteInteger("Setup", "ItemNumberEx", SystemShare.Config.ItemNumberEx);
            SystemShare.Config.ClientFile1 = ReadWriteString("Setup", "ClientFile1", SystemShare.Config.ClientFile1);
            SystemShare.Config.ClientFile2 = ReadWriteString("Setup", "ClientFile2", SystemShare.Config.ClientFile2);
            SystemShare.Config.ClientFile3 = ReadWriteString("Setup", "ClientFile3", SystemShare.Config.ClientFile3);
            SystemShare.Config.MonUpLvNeedKillBase = ReadWriteInteger("Setup", "MonUpLvNeedKillBase", SystemShare.Config.MonUpLvNeedKillBase);
            SystemShare.Config.MonUpLvRate = ReadWriteInteger("Setup", "MonUpLvRate", SystemShare.Config.MonUpLvRate);
            for (int i = 0; i < SystemShare.Config.MonUpLvNeedKillCount.Length; i++)
            {
                SystemShare.Config.MonUpLvNeedKillCount[i] = ReadWriteInteger("Setup", "MonUpLvNeedKillCount" + i, SystemShare.Config.MonUpLvNeedKillCount[i]);
            }
            for (int i = 0; i < SystemShare.Config.SlaveColor.Length; i++)
            {
                SystemShare.Config.SlaveColor[i] = ReadWriteByte("Setup", "SlaveColor" + i, SystemShare.Config.SlaveColor[i]);
            }
            for (int i = 0; i < SystemShare.Config.ReNewNameColor.Length; i++)
            {
                SystemShare.Config.ReNewNameColor[i] = ReadWriteByte("Setup", "ReNewNameColor" + i, SystemShare.Config.ReNewNameColor[i]);
            }
            SystemShare.Config.HomeMap = ReadWriteString("Setup", "HomeMap", SystemShare.Config.HomeMap);
            SystemShare.Config.HomeX = ReadWriteInt16("Setup", "HomeX", SystemShare.Config.HomeX);
            SystemShare.Config.HomeY = ReadWriteInt16("Setup", "HomeY", SystemShare.Config.HomeY);
            SystemShare.Config.RedHomeMap = ReadWriteString("Setup", "RedHomeMap", SystemShare.Config.RedHomeMap);
            SystemShare.Config.RedHomeX = ReadWriteInt16("Setup", "RedHomeX", SystemShare.Config.RedHomeX);
            SystemShare.Config.RedHomeY = ReadWriteInt16("Setup", "RedHomeY", SystemShare.Config.RedHomeY);
            SystemShare.Config.RedDieHomeMap = ReadWriteString("Setup", "RedDieHomeMap", SystemShare.Config.RedDieHomeMap);
            SystemShare.Config.RedDieHomeX = ReadWriteInt16("Setup", "RedDieHomeX", SystemShare.Config.RedDieHomeX);
            SystemShare.Config.RedDieHomeY = ReadWriteInt16("Setup", "RedDieHomeY", SystemShare.Config.RedDieHomeY);
            SystemShare.Config.JobHomePoint = ReadWriteBool("Setup", "JobHomePointSystem", SystemShare.Config.JobHomePoint);
            SystemShare.Config.WarriorHomeMap = ReadWriteString("Setup", "WarriorHomeMap", SystemShare.Config.WarriorHomeMap);
            SystemShare.Config.WarriorHomeX = ReadWriteInt16("Setup", "WarriorHomeX", SystemShare.Config.WarriorHomeX);
            SystemShare.Config.WarriorHomeY = ReadWriteInt16("Setup", "WarriorHomeY", SystemShare.Config.WarriorHomeY);
            SystemShare.Config.WizardHomeMap = ReadWriteString("Setup", "WizardHomeMap", SystemShare.Config.WizardHomeMap);
            SystemShare.Config.WizardHomeX = ReadWriteInt16("Setup", "WizardHomeX", SystemShare.Config.WizardHomeX);
            SystemShare.Config.WizardHomeY = ReadWriteInt16("Setup", "WizardHomeY", SystemShare.Config.WizardHomeY);
            SystemShare.Config.TaoistHomeMap = ReadWriteString("Setup", "TaoistHomeMap", SystemShare.Config.TaoistHomeMap);
            SystemShare.Config.TaoistHomeX = ReadWriteInt16("Setup", "TaoistHomeX", SystemShare.Config.TaoistHomeX);
            SystemShare.Config.TaoistHomeY = ReadWriteInt16("Setup", "TaoistHomeY", SystemShare.Config.TaoistHomeY);
            SystemShare.Config.HealthFillTime = ReadWriteInteger("Setup", "HealthFillTime", SystemShare.Config.HealthFillTime);
            SystemShare.Config.SpellFillTime = ReadWriteInteger("Setup", "SpellFillTime", SystemShare.Config.SpellFillTime);
            SystemShare.Config.DecPkPointTime = ReadWriteInteger("Setup", "DecPkPointTime", SystemShare.Config.DecPkPointTime);
            SystemShare.Config.DecPkPointCount = ReadWriteInteger("Setup", "DecPkPointCount", SystemShare.Config.DecPkPointCount);
            SystemShare.Config.dwPKFlagTime = ReadWriteInteger("Setup", "PKFlagTime", SystemShare.Config.dwPKFlagTime);
            SystemShare.Config.KillHumanAddPKPoint = ReadWriteInteger("Setup", "KillHumanAddPKPoint", SystemShare.Config.KillHumanAddPKPoint);
            SystemShare.Config.KillHumanDecLuckPoint = ReadWriteInteger("Setup", "KillHumanDecLuckPoint", SystemShare.Config.KillHumanDecLuckPoint);
            SystemShare.Config.DecLightItemDrugTime = ReadWriteInteger("Setup", "DecLightItemDrugTime", SystemShare.Config.DecLightItemDrugTime);
            SystemShare.Config.SafeZoneSize = ReadWriteByte("Setup", "SafeZoneSize", SystemShare.Config.SafeZoneSize);
            SystemShare.Config.StartPointSize = ReadWriteByte("Setup", "StartPointSize", SystemShare.Config.StartPointSize);
            SystemShare.Config.ReNewNameColorTime = ReadWriteInteger("Setup", "ReNewNameColorTime", SystemShare.Config.ReNewNameColorTime);
            SystemShare.Config.ReNewChangeColor = ReadWriteBool("Setup", "ReNewChangeColor", SystemShare.Config.ReNewChangeColor);
            SystemShare.Config.ReNewLevelClearExp = ReadWriteBool("Setup", "ReNewLevelClearExp", SystemShare.Config.ReNewLevelClearExp);
            SystemShare.Config.BonusAbilofWarr.DC = ReadWriteUInt16("Setup", "BonusAbilofWarrDC", SystemShare.Config.BonusAbilofWarr.DC);
            SystemShare.Config.BonusAbilofWarr.MC = ReadWriteUInt16("Setup", "BonusAbilofWarrMC", SystemShare.Config.BonusAbilofWarr.MC);
            SystemShare.Config.BonusAbilofWarr.SC = ReadWriteUInt16("Setup", "BonusAbilofWarrSC", SystemShare.Config.BonusAbilofWarr.SC);
            SystemShare.Config.BonusAbilofWarr.AC = ReadWriteUInt16("Setup", "BonusAbilofWarrAC", SystemShare.Config.BonusAbilofWarr.AC);
            SystemShare.Config.BonusAbilofWarr.MAC = ReadWriteUInt16("Setup", "BonusAbilofWarrMAC", SystemShare.Config.BonusAbilofWarr.MAC);
            SystemShare.Config.BonusAbilofWarr.HP = ReadWriteUInt16("Setup", "BonusAbilofWarrHP", SystemShare.Config.BonusAbilofWarr.HP);
            SystemShare.Config.BonusAbilofWarr.MP = ReadWriteUInt16("Setup", "BonusAbilofWarrMP", SystemShare.Config.BonusAbilofWarr.MP);
            SystemShare.Config.BonusAbilofWarr.Hit = ReadWriteByte("Setup", "BonusAbilofWarrHit", SystemShare.Config.BonusAbilofWarr.Hit);
            SystemShare.Config.BonusAbilofWarr.Speed = ReadWriteInteger("Setup", "BonusAbilofWarrSpeed", SystemShare.Config.BonusAbilofWarr.Speed);
            SystemShare.Config.BonusAbilofWarr.Reserved = ReadWriteByte("Setup", "BonusAbilofWarrX2", SystemShare.Config.BonusAbilofWarr.Reserved);
            SystemShare.Config.BonusAbilofWizard.DC = ReadWriteUInt16("Setup", "BonusAbilofWizardDC", SystemShare.Config.BonusAbilofWizard.DC);
            SystemShare.Config.BonusAbilofWizard.MC = ReadWriteUInt16("Setup", "BonusAbilofWizardMC", SystemShare.Config.BonusAbilofWizard.MC);
            SystemShare.Config.BonusAbilofWizard.SC = ReadWriteUInt16("Setup", "BonusAbilofWizardSC", SystemShare.Config.BonusAbilofWizard.SC);
            SystemShare.Config.BonusAbilofWizard.AC = ReadWriteUInt16("Setup", "BonusAbilofWizardAC", SystemShare.Config.BonusAbilofWizard.AC);
            SystemShare.Config.BonusAbilofWizard.MAC = ReadWriteUInt16("Setup", "BonusAbilofWizardMAC", SystemShare.Config.BonusAbilofWizard.MAC);
            SystemShare.Config.BonusAbilofWizard.HP = ReadWriteUInt16("Setup", "BonusAbilofWizardHP", SystemShare.Config.BonusAbilofWizard.HP);
            SystemShare.Config.BonusAbilofWizard.MP = ReadWriteUInt16("Setup", "BonusAbilofWizardMP", SystemShare.Config.BonusAbilofWizard.MP);
            SystemShare.Config.BonusAbilofWizard.Hit = ReadWriteByte("Setup", "BonusAbilofWizardHit", SystemShare.Config.BonusAbilofWizard.Hit);
            SystemShare.Config.BonusAbilofWizard.Speed = ReadWriteInteger("Setup", "BonusAbilofWizardSpeed", SystemShare.Config.BonusAbilofWizard.Speed);
            SystemShare.Config.BonusAbilofWizard.Reserved = ReadWriteByte("Setup", "BonusAbilofWizardX2", SystemShare.Config.BonusAbilofWizard.Reserved);
            SystemShare.Config.BonusAbilofTaos.DC = ReadWriteUInt16("Setup", "BonusAbilofTaosDC", SystemShare.Config.BonusAbilofTaos.DC);
            SystemShare.Config.BonusAbilofTaos.MC = ReadWriteUInt16("Setup", "BonusAbilofTaosMC", SystemShare.Config.BonusAbilofTaos.MC);
            SystemShare.Config.BonusAbilofTaos.SC = ReadWriteUInt16("Setup", "BonusAbilofTaosSC", SystemShare.Config.BonusAbilofTaos.SC);
            SystemShare.Config.BonusAbilofTaos.AC = ReadWriteUInt16("Setup", "BonusAbilofTaosAC", SystemShare.Config.BonusAbilofTaos.AC);
            SystemShare.Config.BonusAbilofTaos.MAC = ReadWriteUInt16("Setup", "BonusAbilofTaosMAC", SystemShare.Config.BonusAbilofTaos.MAC);
            SystemShare.Config.BonusAbilofTaos.HP = ReadWriteUInt16("Setup", "BonusAbilofTaosHP", SystemShare.Config.BonusAbilofTaos.HP);
            SystemShare.Config.BonusAbilofTaos.MP = ReadWriteUInt16("Setup", "BonusAbilofTaosMP", SystemShare.Config.BonusAbilofTaos.MP);
            SystemShare.Config.BonusAbilofTaos.Hit = ReadWriteByte("Setup", "BonusAbilofTaosHit", SystemShare.Config.BonusAbilofTaos.Hit);
            SystemShare.Config.BonusAbilofTaos.Speed = ReadWriteInteger("Setup", "BonusAbilofTaosSpeed", SystemShare.Config.BonusAbilofTaos.Speed);
            SystemShare.Config.BonusAbilofTaos.Reserved = ReadWriteByte("Setup", "BonusAbilofTaosX2", SystemShare.Config.BonusAbilofTaos.Reserved);
            SystemShare.Config.NakedAbilofWarr.DC = ReadWriteUInt16("Setup", "NakedAbilofWarrDC", SystemShare.Config.NakedAbilofWarr.DC);
            SystemShare.Config.NakedAbilofWarr.MC = ReadWriteUInt16("Setup", "NakedAbilofWarrMC", SystemShare.Config.NakedAbilofWarr.MC);
            SystemShare.Config.NakedAbilofWarr.SC = ReadWriteUInt16("Setup", "NakedAbilofWarrSC", SystemShare.Config.NakedAbilofWarr.SC);
            SystemShare.Config.NakedAbilofWarr.AC = ReadWriteUInt16("Setup", "NakedAbilofWarrAC", SystemShare.Config.NakedAbilofWarr.AC);
            SystemShare.Config.NakedAbilofWarr.MAC = ReadWriteUInt16("Setup", "NakedAbilofWarrMAC", SystemShare.Config.NakedAbilofWarr.MAC);
            SystemShare.Config.NakedAbilofWarr.HP = ReadWriteUInt16("Setup", "NakedAbilofWarrHP", SystemShare.Config.NakedAbilofWarr.HP);
            SystemShare.Config.NakedAbilofWarr.MP = ReadWriteUInt16("Setup", "NakedAbilofWarrMP", SystemShare.Config.NakedAbilofWarr.MP);
            SystemShare.Config.NakedAbilofWarr.Hit = ReadWriteByte("Setup", "NakedAbilofWarrHit", SystemShare.Config.NakedAbilofWarr.Hit);
            SystemShare.Config.NakedAbilofWarr.Speed = ReadWriteInteger("Setup", "NakedAbilofWarrSpeed", SystemShare.Config.NakedAbilofWarr.Speed);
            SystemShare.Config.NakedAbilofWarr.Reserved = ReadWriteByte("Setup", "NakedAbilofWarrX2", SystemShare.Config.NakedAbilofWarr.Reserved);
            SystemShare.Config.NakedAbilofWizard.DC = ReadWriteUInt16("Setup", "NakedAbilofWizardDC", SystemShare.Config.NakedAbilofWizard.DC);
            SystemShare.Config.NakedAbilofWizard.MC = ReadWriteUInt16("Setup", "NakedAbilofWizardMC", SystemShare.Config.NakedAbilofWizard.MC);
            SystemShare.Config.NakedAbilofWizard.SC = ReadWriteUInt16("Setup", "NakedAbilofWizardSC", SystemShare.Config.NakedAbilofWizard.SC);
            SystemShare.Config.NakedAbilofWizard.AC = ReadWriteUInt16("Setup", "NakedAbilofWizardAC", SystemShare.Config.NakedAbilofWizard.AC);
            SystemShare.Config.NakedAbilofWizard.MAC = ReadWriteUInt16("Setup", "NakedAbilofWizardMAC", SystemShare.Config.NakedAbilofWizard.MAC);
            SystemShare.Config.NakedAbilofWizard.HP = ReadWriteUInt16("Setup", "NakedAbilofWizardHP", SystemShare.Config.NakedAbilofWizard.HP);
            SystemShare.Config.NakedAbilofWizard.MP = ReadWriteUInt16("Setup", "NakedAbilofWizardMP", SystemShare.Config.NakedAbilofWizard.MP);
            SystemShare.Config.NakedAbilofWizard.Hit = ReadWriteByte("Setup", "NakedAbilofWizardHit", SystemShare.Config.NakedAbilofWizard.Hit);
            SystemShare.Config.NakedAbilofWizard.Speed = ReadWriteInteger("Setup", "NakedAbilofWizardSpeed", SystemShare.Config.NakedAbilofWizard.Speed);
            SystemShare.Config.NakedAbilofWizard.Reserved = ReadWriteByte("Setup", "NakedAbilofWizardX2", SystemShare.Config.NakedAbilofWizard.Reserved);
            SystemShare.Config.NakedAbilofTaos.DC = ReadWriteUInt16("Setup", "NakedAbilofTaosDC", SystemShare.Config.NakedAbilofTaos.DC);
            SystemShare.Config.NakedAbilofTaos.MC = ReadWriteUInt16("Setup", "NakedAbilofTaosMC", SystemShare.Config.NakedAbilofTaos.MC);
            SystemShare.Config.NakedAbilofTaos.SC = ReadWriteUInt16("Setup", "NakedAbilofTaosSC", SystemShare.Config.NakedAbilofTaos.SC);
            SystemShare.Config.NakedAbilofTaos.AC = ReadWriteUInt16("Setup", "NakedAbilofTaosAC", SystemShare.Config.NakedAbilofTaos.AC);
            SystemShare.Config.NakedAbilofTaos.MAC = ReadWriteUInt16("Setup", "NakedAbilofTaosMAC", SystemShare.Config.NakedAbilofTaos.MAC);
            SystemShare.Config.NakedAbilofTaos.HP = ReadWriteUInt16("Setup", "NakedAbilofTaosHP", SystemShare.Config.NakedAbilofTaos.HP);
            SystemShare.Config.NakedAbilofTaos.MP = ReadWriteUInt16("Setup", "NakedAbilofTaosMP", SystemShare.Config.NakedAbilofTaos.MP);
            SystemShare.Config.NakedAbilofTaos.Hit = ReadWriteByte("Setup", "NakedAbilofTaosHit", SystemShare.Config.NakedAbilofTaos.Hit);
            SystemShare.Config.NakedAbilofTaos.Speed = ReadWriteInteger("Setup", "NakedAbilofTaosSpeed", SystemShare.Config.NakedAbilofTaos.Speed);
            SystemShare.Config.NakedAbilofTaos.Reserved = ReadWriteByte("Setup", "NakedAbilofTaosX2", SystemShare.Config.NakedAbilofTaos.Reserved);
            SystemShare.Config.GroupMembersMax = ReadWriteByte("Setup", "GroupMembersMax", SystemShare.Config.GroupMembersMax);
            SystemShare.Config.WarrMon = ReadWriteInteger("Setup", "WarrAttackMon", SystemShare.Config.WarrMon);
            SystemShare.Config.WizardMon = ReadWriteInteger("Setup", "WizardAttackMon", SystemShare.Config.WizardMon);
            SystemShare.Config.TaosMon = ReadWriteInteger("Setup", "TaosAttackMon", SystemShare.Config.TaosMon);
            SystemShare.Config.MonHum = ReadWriteInteger("Setup", "MonAttackHum", SystemShare.Config.MonHum);
            SystemShare.Config.UPgradeWeaponGetBackTime = ReadWriteInteger("Setup", "UPgradeWeaponGetBackTime", SystemShare.Config.UPgradeWeaponGetBackTime);
            SystemShare.Config.ClearExpireUpgradeWeaponDays = ReadWriteByte("Setup", "ClearExpireUpgradeWeaponDays", SystemShare.Config.ClearExpireUpgradeWeaponDays);
            SystemShare.Config.UpgradeWeaponPrice = ReadWriteInteger("Setup", "UpgradeWeaponPrice", SystemShare.Config.UpgradeWeaponPrice);
            SystemShare.Config.UpgradeWeaponMaxPoint = ReadWriteByte("Setup", "UpgradeWeaponMaxPoint", SystemShare.Config.UpgradeWeaponMaxPoint);
            SystemShare.Config.UpgradeWeaponDCRate = ReadWriteByte("Setup", "UpgradeWeaponDCRate", SystemShare.Config.UpgradeWeaponDCRate);
            SystemShare.Config.UpgradeWeaponDCTwoPointRate = ReadWriteByte("Setup", "UpgradeWeaponDCTwoPointRate", SystemShare.Config.UpgradeWeaponDCTwoPointRate);
            SystemShare.Config.UpgradeWeaponDCThreePointRate = ReadWriteByte("Setup", "UpgradeWeaponDCThreePointRate", SystemShare.Config.UpgradeWeaponDCThreePointRate);
            SystemShare.Config.UpgradeWeaponMCRate = ReadWriteByte("Setup", "UpgradeWeaponMCRate", SystemShare.Config.UpgradeWeaponMCRate);
            SystemShare.Config.UpgradeWeaponMCTwoPointRate = ReadWriteByte("Setup", "UpgradeWeaponMCTwoPointRate", SystemShare.Config.UpgradeWeaponMCTwoPointRate);
            SystemShare.Config.UpgradeWeaponMCThreePointRate = ReadWriteByte("Setup", "UpgradeWeaponMCThreePointRate", SystemShare.Config.UpgradeWeaponMCThreePointRate);
            SystemShare.Config.UpgradeWeaponSCRate = ReadWriteByte("Setup", "UpgradeWeaponSCRate", SystemShare.Config.UpgradeWeaponSCRate);
            SystemShare.Config.UpgradeWeaponSCTwoPointRate = ReadWriteByte("Setup", "UpgradeWeaponSCTwoPointRate", SystemShare.Config.UpgradeWeaponSCTwoPointRate);
            SystemShare.Config.UpgradeWeaponSCThreePointRate = ReadWriteByte("Setup", "UpgradeWeaponSCThreePointRate", SystemShare.Config.UpgradeWeaponSCThreePointRate);
            SystemShare.Config.BuildGuildPrice = ReadWriteInteger("Setup", "BuildGuild", SystemShare.Config.BuildGuildPrice);
            SystemShare.Config.MakeDurgPrice = ReadWriteInteger("Setup", "MakeDurg", SystemShare.Config.MakeDurgPrice);
            SystemShare.Config.GuildWarPrice = ReadWriteInteger("Setup", "GuildWarFee", SystemShare.Config.GuildWarPrice);
            SystemShare.Config.HireGuardPrice = ReadWriteInteger("Setup", "HireGuard", SystemShare.Config.HireGuardPrice);
            SystemShare.Config.HireArcherPrice = ReadWriteInteger("Setup", "HireArcher", SystemShare.Config.HireArcherPrice);
            SystemShare.Config.RepairDoorPrice = ReadWriteInteger("Setup", "RepairDoor", SystemShare.Config.RepairDoorPrice);
            SystemShare.Config.RepairWallPrice = ReadWriteInteger("Setup", "RepairWall", SystemShare.Config.RepairWallPrice);
            SystemShare.Config.CastleMemberPriceRate = ReadWriteInteger("Setup", "CastleMemberPriceRate", SystemShare.Config.CastleMemberPriceRate);
            SystemShare.Config.CastleGoldMax = ReadWriteInteger("Setup", "CastleGoldMax", SystemShare.Config.CastleGoldMax);
            SystemShare.Config.CastleOneDayGold = ReadWriteInteger("Setup", "CastleOneDayGold", SystemShare.Config.CastleOneDayGold);
            SystemShare.Config.CastleName = ReadWriteString("Setup", "CastleName", SystemShare.Config.CastleName);
            SystemShare.Config.CastleHomeMap = ReadWriteString("Setup", "CastleHomeMap", SystemShare.Config.CastleHomeMap);
            SystemShare.Config.CastleHomeX = ReadWriteInt16("Setup", "CastleHomeX", SystemShare.Config.CastleHomeX);
            SystemShare.Config.CastleHomeY = ReadWriteInt16("Setup", "CastleHomeY", SystemShare.Config.CastleHomeY);
            SystemShare.Config.CastleWarRangeX = ReadWriteInt16("Setup", "CastleWarRangeX", SystemShare.Config.CastleWarRangeX);
            SystemShare.Config.CastleWarRangeY = ReadWriteInt16("Setup", "CastleWarRangeY", SystemShare.Config.CastleWarRangeY);
            SystemShare.Config.CastleTaxRate = ReadWriteInteger("Setup", "CastleTaxRate", SystemShare.Config.CastleTaxRate);
            SystemShare.Config.GetAllNpcTax = ReadWriteBool("Setup", "CastleGetAllNpcTax", SystemShare.Config.GetAllNpcTax);
            SystemShare.Config.MonGenRate = ReadWriteInteger("Setup", "GenMonRate", SystemShare.Config.MonGenRate);
            SystemShare.Config.ProcessMonRandRate = ReadWriteInteger("Setup", "ProcessMonRandRate", SystemShare.Config.ProcessMonRandRate);
            SystemShare.Config.ProcessMonLimitCount = ReadWriteInteger("Setup", "ProcessMonLimitCount", SystemShare.Config.ProcessMonLimitCount);
            SystemShare.Config.HumanMaxGold = ReadWriteInteger("Setup", "HumanMaxGold", SystemShare.Config.HumanMaxGold);
            SystemShare.Config.HumanTryModeMaxGold = ReadWriteInteger("Setup", "HumanTryModeMaxGold", SystemShare.Config.HumanTryModeMaxGold);
            SystemShare.Config.TryModeLevel = ReadWriteByte("Setup", "TryModeLevel", SystemShare.Config.TryModeLevel);
            SystemShare.Config.TryModeUseStorage = ReadWriteBool("Setup", "TryModeUseStorage", SystemShare.Config.TryModeUseStorage);
            SystemShare.Config.ShutRedMsgShowGMName = ReadWriteBool("Setup", "ShutRedMsgShowGMName", SystemShare.Config.ShutRedMsgShowGMName);
            SystemShare.Config.ShowMakeItemMsg = ReadWriteBool("Setup", "ShowMakeItemMsg", SystemShare.Config.ShowMakeItemMsg);
            SystemShare.Config.ShowGuildName = ReadWriteBool("Setup", "ShowGuildName", SystemShare.Config.ShowGuildName);
            SystemShare.Config.ShowRankLevelName = ReadWriteBool("Setup", "ShowRankLevelName", SystemShare.Config.ShowRankLevelName);
            SystemShare.Config.MonSayMsg = ReadWriteBool("Setup", "MonSayMsg", SystemShare.Config.MonSayMsg);
            SystemShare.Config.SayMsgMaxLen = ReadWriteByte("Setup", "SayMsgMaxLen", SystemShare.Config.SayMsgMaxLen);
            SystemShare.Config.SayMsgTime = ReadWriteInteger("Setup", "SayMsgTime", SystemShare.Config.SayMsgTime);
            SystemShare.Config.SayMsgCount = ReadWriteByte("Setup", "SayMsgCount", SystemShare.Config.SayMsgCount);
            SystemShare.Config.DisableSayMsgTime = ReadWriteInteger("Setup", "DisableSayMsgTime", SystemShare.Config.DisableSayMsgTime);
            SystemShare.Config.SayRedMsgMaxLen = ReadWriteByte("Setup", "SayRedMsgMaxLen", SystemShare.Config.SayRedMsgMaxLen);
            SystemShare.Config.CanShoutMsgLevel = ReadWriteInteger("Setup", "CanShoutMsgLevel", SystemShare.Config.CanShoutMsgLevel);
            SystemShare.Config.StartPermission = ReadWriteByte("Setup", "StartPermission", SystemShare.Config.StartPermission);
            SystemShare.Config.SendRefMsgRange = (byte)ReadWriteInteger("Setup", "SendRefMsgRange", SystemShare.Config.SendRefMsgRange);
            SystemShare.Config.DecLampDura = ReadWriteBool("Setup", "DecLampDura", SystemShare.Config.DecLampDura);
            SystemShare.Config.HungerSystem = ReadWriteBool("Setup", "HungerSystem", SystemShare.Config.HungerSystem);
            SystemShare.Config.HungerDecHP = ReadWriteBool("Setup", "HungerDecHP", SystemShare.Config.HungerDecHP);
            SystemShare.Config.HungerDecPower = ReadWriteBool("Setup", "HungerDecPower", SystemShare.Config.HungerDecPower);
            SystemShare.Config.DiableHumanRun = ReadWriteBool("Setup", "DiableHumanRun", SystemShare.Config.DiableHumanRun);
            SystemShare.Config.boRunHuman = ReadWriteBool("Setup", "RunHuman", SystemShare.Config.boRunHuman);
            SystemShare.Config.boRunMon = ReadWriteBool("Setup", "RunMon", SystemShare.Config.boRunMon);
            SystemShare.Config.boRunNpc = ReadWriteBool("Setup", "RunNpc", SystemShare.Config.boRunNpc);
            SystemShare.Config.boRunGuard = ReadWriteBool("Setup", "RunGuard", SystemShare.Config.boRunGuard);
            SystemShare.Config.boWarDisHumRun = ReadWriteBool("Setup", "WarDisableHumanRun", SystemShare.Config.boWarDisHumRun);
            SystemShare.Config.boGMRunAll = ReadWriteBool("Setup", "GMRunAll", SystemShare.Config.boGMRunAll);
            SystemShare.Config.SkeletonCount = ReadWriteInteger("Setup", "SkeletonCount", SystemShare.Config.SkeletonCount);
            for (int i = 0; i < SystemShare.Config.SkeletonArray.Length; i++)
            {
                SystemShare.Config.SkeletonArray[i].nHumLevel = ReadWriteInteger("Setup", "SkeletonHumLevel" + i, SystemShare.Config.SkeletonArray[i].nHumLevel);
                SystemShare.Config.SkeletonArray[i].sMonName = ReadWriteString("Names", "Skeleton" + i, SystemShare.Config.SkeletonArray[i].sMonName);
                SystemShare.Config.SkeletonArray[i].nCount = ReadWriteInteger("Setup", "SkeletonCount" + i, SystemShare.Config.SkeletonArray[i].nCount);
                SystemShare.Config.SkeletonArray[i].nLevel = ReadWriteInteger("Setup", "SkeletonLevel" + i, SystemShare.Config.SkeletonArray[i].nLevel);
            }
            SystemShare.Config.DragonCount = ReadWriteInteger("Setup", "DragonCount", SystemShare.Config.DragonCount);
            for (int i = 0; i < SystemShare.Config.DragonArray.Length; i++)
            {
                SystemShare.Config.DragonArray[i].nHumLevel = ReadWriteInteger("Setup", "DragonHumLevel" + i, SystemShare.Config.DragonArray[i].nHumLevel);
                SystemShare.Config.DragonArray[i].sMonName = ReadWriteString("Names", "Dragon" + i, SystemShare.Config.DragonArray[i].sMonName);
                SystemShare.Config.DragonArray[i].nCount = ReadWriteInteger("Setup", "DragonCount" + i, SystemShare.Config.DragonArray[i].nCount);
                SystemShare.Config.DragonArray[i].nLevel = ReadWriteInteger("Setup", "DragonLevel" + i, SystemShare.Config.DragonArray[i].nLevel);
            }
            SystemShare.Config.TryDealTime = ReadWriteInteger("Setup", "TryDealTime", SystemShare.Config.TryDealTime);
            SystemShare.Config.DealOKTime = ReadWriteInteger("Setup", "DealOKTime", SystemShare.Config.DealOKTime);
            SystemShare.Config.CanNotGetBackDeal = ReadWriteBool("Setup", "CanNotGetBackDeal", SystemShare.Config.CanNotGetBackDeal);
            SystemShare.Config.DisableDeal = ReadWriteBool("Setup", "DisableDeal", SystemShare.Config.DisableDeal);
            SystemShare.Config.MasterOKLevel = ReadWriteInteger("Setup", "MasterOKLevel", SystemShare.Config.MasterOKLevel);
            SystemShare.Config.MasterOKCreditPoint = ReadWriteInteger("Setup", "MasterOKCreditPoint", SystemShare.Config.MasterOKCreditPoint);
            SystemShare.Config.nMasterOKBonusPoint = ReadWriteInteger("Setup", "MasterOKBonusPoint", SystemShare.Config.nMasterOKBonusPoint);
            SystemShare.Config.boPKLevelProtect = ReadWriteBool("Setup", "PKProtect", SystemShare.Config.boPKLevelProtect);
            SystemShare.Config.nPKProtectLevel = ReadWriteInteger("Setup", "PKProtectLevel", SystemShare.Config.nPKProtectLevel);
            SystemShare.Config.nRedPKProtectLevel = ReadWriteInteger("Setup", "RedPKProtectLevel", SystemShare.Config.nRedPKProtectLevel);
            SystemShare.Config.ItemPowerRate = ReadWriteInteger("Setup", "ItemPowerRate", SystemShare.Config.ItemPowerRate);
            SystemShare.Config.ItemExpRate = ReadWriteInteger("Setup", "ItemExpRate", SystemShare.Config.ItemExpRate);
            SystemShare.Config.ScriptGotoCountLimit = ReadWriteInteger("Setup", "ScriptGotoCountLimit", SystemShare.Config.ScriptGotoCountLimit);
            SystemShare.Config.btHearMsgFColor = ReadWriteByte("Setup", "HearMsgFColor", SystemShare.Config.btHearMsgFColor);
            SystemShare.Config.btHearMsgBColor = ReadWriteByte("Setup", "HearMsgBColor", SystemShare.Config.btHearMsgBColor);
            SystemShare.Config.btWhisperMsgFColor = ReadWriteByte("Setup", "WhisperMsgFColor", SystemShare.Config.btWhisperMsgFColor);
            SystemShare.Config.btWhisperMsgBColor = ReadWriteByte("Setup", "WhisperMsgBColor", SystemShare.Config.btWhisperMsgBColor);
            SystemShare.Config.btGMWhisperMsgFColor = ReadWriteByte("Setup", "GMWhisperMsgFColor", SystemShare.Config.btGMWhisperMsgFColor);
            SystemShare.Config.btGMWhisperMsgBColor = ReadWriteByte("Setup", "GMWhisperMsgBColor", SystemShare.Config.btGMWhisperMsgBColor);
            SystemShare.Config.CryMsgFColor = ReadWriteByte("Setup", "CryMsgFColor", SystemShare.Config.CryMsgFColor);
            SystemShare.Config.CryMsgBColor = ReadWriteByte("Setup", "CryMsgBColor", SystemShare.Config.CryMsgBColor);
            SystemShare.Config.GreenMsgFColor = ReadWriteByte("Setup", "GreenMsgFColor", SystemShare.Config.GreenMsgFColor);
            SystemShare.Config.GreenMsgBColor = ReadWriteByte("Setup", "GreenMsgBColor", SystemShare.Config.GreenMsgBColor);
            SystemShare.Config.BlueMsgFColor = ReadWriteByte("Setup", "BlueMsgFColor", SystemShare.Config.BlueMsgFColor);
            SystemShare.Config.BlueMsgBColor = ReadWriteByte("Setup", "BlueMsgBColor", SystemShare.Config.BlueMsgBColor);
            SystemShare.Config.RedMsgFColor = ReadWriteByte("Setup", "RedMsgFColor", SystemShare.Config.RedMsgFColor);
            SystemShare.Config.RedMsgBColor = ReadWriteByte("Setup", "RedMsgBColor", SystemShare.Config.RedMsgBColor);
            SystemShare.Config.GuildMsgFColor = ReadWriteByte("Setup", "GuildMsgFColor", SystemShare.Config.GuildMsgFColor);
            SystemShare.Config.GuildMsgBColor = ReadWriteByte("Setup", "GuildMsgBColor", SystemShare.Config.GuildMsgBColor);
            SystemShare.Config.GroupMsgFColor = ReadWriteByte("Setup", "GroupMsgFColor", SystemShare.Config.GroupMsgFColor);
            SystemShare.Config.GroupMsgBColor = ReadWriteByte("Setup", "GroupMsgBColor", SystemShare.Config.GroupMsgBColor);
            SystemShare.Config.CustMsgFColor = ReadWriteByte("Setup", "CustMsgFColor", SystemShare.Config.CustMsgFColor);
            SystemShare.Config.CustMsgBColor = ReadWriteByte("Setup", "CustMsgBColor", SystemShare.Config.CustMsgBColor);
            SystemShare.Config.MonRandomAddValue = ReadWriteByte("Setup", "MonRandomAddValue", SystemShare.Config.MonRandomAddValue);
            SystemShare.Config.MakeRandomAddValue = ReadWriteByte("Setup", "MakeRandomAddValue", SystemShare.Config.MakeRandomAddValue);
            SystemShare.Config.WeaponDCAddValueMaxLimit = ReadWriteByte("Setup", "WeaponDCAddValueMaxLimit", SystemShare.Config.WeaponDCAddValueMaxLimit);
            SystemShare.Config.WeaponDCAddValueRate = ReadWriteByte("Setup", "WeaponDCAddValueRate", SystemShare.Config.WeaponDCAddValueRate);
            SystemShare.Config.WeaponMCAddValueMaxLimit = ReadWriteByte("Setup", "WeaponMCAddValueMaxLimit", SystemShare.Config.WeaponMCAddValueMaxLimit);
            SystemShare.Config.WeaponMCAddValueRate = ReadWriteByte("Setup", "WeaponMCAddValueRate", SystemShare.Config.WeaponMCAddValueRate);
            SystemShare.Config.WeaponSCAddValueMaxLimit = ReadWriteByte("Setup", "WeaponSCAddValueMaxLimit", SystemShare.Config.WeaponSCAddValueMaxLimit);
            SystemShare.Config.WeaponSCAddValueRate = ReadWriteByte("Setup", "WeaponSCAddValueRate", SystemShare.Config.WeaponSCAddValueRate);
            SystemShare.Config.DressDCAddValueMaxLimit = ReadWriteByte("Setup", "DressDCAddValueMaxLimit", SystemShare.Config.DressDCAddValueMaxLimit);
            SystemShare.Config.DressDCAddValueRate = ReadWriteByte("Setup", "DressDCAddValueRate", SystemShare.Config.DressDCAddValueRate);
            SystemShare.Config.DressDCAddRate = ReadWriteByte("Setup", "DressDCAddRate", SystemShare.Config.DressDCAddRate);
            SystemShare.Config.DressMCAddValueMaxLimit = ReadWriteByte("Setup", "DressMCAddValueMaxLimit", SystemShare.Config.DressMCAddValueMaxLimit);
            SystemShare.Config.DressMCAddValueRate = ReadWriteByte("Setup", "DressMCAddValueRate", SystemShare.Config.DressMCAddValueRate);
            SystemShare.Config.DressMCAddRate = ReadWriteByte("Setup", "DressMCAddRate", SystemShare.Config.DressMCAddRate);
            SystemShare.Config.DressSCAddValueMaxLimit = ReadWriteByte("Setup", "DressSCAddValueMaxLimit", SystemShare.Config.DressSCAddValueMaxLimit);
            SystemShare.Config.nDressSCAddValueRate = ReadWriteByte("Setup", "DressSCAddValueRate", SystemShare.Config.nDressSCAddValueRate);
            SystemShare.Config.DressSCAddRate = ReadWriteByte("Setup", "DressSCAddRate", SystemShare.Config.DressSCAddRate);
            SystemShare.Config.NeckLace19DCAddValueMaxLimit = ReadWriteByte("Setup", "NeckLace19DCAddValueMaxLimit", SystemShare.Config.NeckLace19DCAddValueMaxLimit);
            SystemShare.Config.NeckLace19DCAddValueRate = ReadWriteByte("Setup", "NeckLace19DCAddValueRate", SystemShare.Config.NeckLace19DCAddValueRate);
            SystemShare.Config.NeckLace19DCAddRate = ReadWriteByte("Setup", "NeckLace19DCAddRate", SystemShare.Config.NeckLace19DCAddRate);
            SystemShare.Config.NeckLace19MCAddValueMaxLimit = ReadWriteByte("Setup", "NeckLace19MCAddValueMaxLimit", SystemShare.Config.NeckLace19MCAddValueMaxLimit);
            SystemShare.Config.NeckLace19MCAddValueRate = ReadWriteByte("Setup", "NeckLace19MCAddValueRate", SystemShare.Config.NeckLace19MCAddValueRate);
            SystemShare.Config.NeckLace19MCAddRate = ReadWriteByte("Setup", "NeckLace19MCAddRate", SystemShare.Config.NeckLace19MCAddRate);
            SystemShare.Config.NeckLace19SCAddValueMaxLimit = ReadWriteByte("Setup", "NeckLace19SCAddValueMaxLimit", SystemShare.Config.NeckLace19SCAddValueMaxLimit);
            SystemShare.Config.NeckLace19SCAddValueRate = ReadWriteByte("Setup", "NeckLace19SCAddValueRate", SystemShare.Config.NeckLace19SCAddValueRate);
            SystemShare.Config.NeckLace19SCAddRate = ReadWriteByte("Setup", "NeckLace19SCAddRate", SystemShare.Config.NeckLace19SCAddRate);
            SystemShare.Config.NeckLace202124DCAddValueMaxLimit = ReadWriteByte("Setup", "NeckLace202124DCAddValueMaxLimit", SystemShare.Config.NeckLace202124DCAddValueMaxLimit);
            SystemShare.Config.NeckLace202124DCAddValueRate = ReadWriteByte("Setup", "NeckLace202124DCAddValueRate", SystemShare.Config.NeckLace202124DCAddValueRate);
            SystemShare.Config.NeckLace202124DCAddRate = ReadWriteByte("Setup", "NeckLace202124DCAddRate", SystemShare.Config.NeckLace202124DCAddRate);
            SystemShare.Config.NeckLace202124MCAddValueMaxLimit = ReadWriteByte("Setup", "NeckLace202124MCAddValueMaxLimit", SystemShare.Config.NeckLace202124MCAddValueMaxLimit);
            SystemShare.Config.NeckLace202124MCAddValueRate = ReadWriteByte("Setup", "NeckLace202124MCAddValueRate", SystemShare.Config.NeckLace202124MCAddValueRate);
            SystemShare.Config.NeckLace202124MCAddRate = ReadWriteByte("Setup", "NeckLace202124MCAddRate", SystemShare.Config.NeckLace202124MCAddRate);
            SystemShare.Config.NeckLace202124SCAddValueMaxLimit = ReadWriteByte("Setup", "NeckLace202124SCAddValueMaxLimit", SystemShare.Config.NeckLace202124SCAddValueMaxLimit);
            SystemShare.Config.NeckLace202124SCAddValueRate = ReadWriteByte("Setup", "NeckLace202124SCAddValueRate", SystemShare.Config.NeckLace202124SCAddValueRate);
            SystemShare.Config.NeckLace202124SCAddRate = ReadWriteByte("Setup", "NeckLace202124SCAddRate", SystemShare.Config.NeckLace202124SCAddRate);
            SystemShare.Config.ArmRing26DCAddValueMaxLimit = ReadWriteByte("Setup", "ArmRing26DCAddValueMaxLimit", SystemShare.Config.ArmRing26DCAddValueMaxLimit);
            SystemShare.Config.ArmRing26DCAddValueRate = ReadWriteByte("Setup", "ArmRing26DCAddValueRate", SystemShare.Config.ArmRing26DCAddValueRate);
            SystemShare.Config.ArmRing26DCAddRate = ReadWriteByte("Setup", "ArmRing26DCAddRate", SystemShare.Config.ArmRing26DCAddRate);
            SystemShare.Config.ArmRing26MCAddValueMaxLimit = ReadWriteByte("Setup", "ArmRing26MCAddValueMaxLimit", SystemShare.Config.ArmRing26MCAddValueMaxLimit);
            SystemShare.Config.ArmRing26MCAddValueRate = ReadWriteByte("Setup", "ArmRing26MCAddValueRate", SystemShare.Config.ArmRing26MCAddValueRate);
            SystemShare.Config.ArmRing26MCAddRate = ReadWriteByte("Setup", "ArmRing26MCAddRate", SystemShare.Config.ArmRing26MCAddRate);
            SystemShare.Config.ArmRing26SCAddValueMaxLimit = ReadWriteByte("Setup", "ArmRing26SCAddValueMaxLimit", SystemShare.Config.ArmRing26SCAddValueMaxLimit);
            SystemShare.Config.ArmRing26SCAddValueRate = ReadWriteByte("Setup", "ArmRing26SCAddValueRate", SystemShare.Config.ArmRing26SCAddValueRate);
            SystemShare.Config.ArmRing26SCAddRate = ReadWriteByte("Setup", "ArmRing26SCAddRate", SystemShare.Config.ArmRing26SCAddRate);
            SystemShare.Config.Ring22DCAddValueMaxLimit = ReadWriteByte("Setup", "Ring22DCAddValueMaxLimit", SystemShare.Config.Ring22DCAddValueMaxLimit);
            SystemShare.Config.Ring22DCAddValueRate = ReadWriteByte("Setup", "Ring22DCAddValueRate", SystemShare.Config.Ring22DCAddValueRate);
            SystemShare.Config.Ring22DCAddRate = ReadWriteByte("Setup", "Ring22DCAddRate", SystemShare.Config.Ring22DCAddRate);
            SystemShare.Config.Ring22MCAddValueMaxLimit = ReadWriteByte("Setup", "Ring22MCAddValueMaxLimit", SystemShare.Config.Ring22MCAddValueMaxLimit);
            SystemShare.Config.Ring22MCAddValueRate = ReadWriteByte("Setup", "Ring22MCAddValueRate", SystemShare.Config.Ring22MCAddValueRate);
            SystemShare.Config.Ring22MCAddRate = ReadWriteByte("Setup", "Ring22MCAddRate", SystemShare.Config.Ring22MCAddRate);
            SystemShare.Config.Ring22SCAddValueMaxLimit = ReadWriteByte("Setup", "Ring22SCAddValueMaxLimit", SystemShare.Config.Ring22SCAddValueMaxLimit);
            SystemShare.Config.Ring22SCAddValueRate = ReadWriteByte("Setup", "Ring22SCAddValueRate", SystemShare.Config.Ring22SCAddValueRate);
            SystemShare.Config.Ring22SCAddRate = ReadWriteByte("Setup", "Ring22SCAddRate", SystemShare.Config.Ring22SCAddRate);
            SystemShare.Config.Ring23DCAddValueMaxLimit = ReadWriteByte("Setup", "Ring23DCAddValueMaxLimit", SystemShare.Config.Ring23DCAddValueMaxLimit);
            SystemShare.Config.Ring23DCAddValueRate = ReadWriteByte("Setup", "Ring23DCAddValueRate", SystemShare.Config.Ring23DCAddValueRate);
            SystemShare.Config.Ring23DCAddRate = ReadWriteByte("Setup", "Ring23DCAddRate", SystemShare.Config.Ring23DCAddRate);
            SystemShare.Config.Ring23MCAddValueMaxLimit = ReadWriteByte("Setup", "Ring23MCAddValueMaxLimit", SystemShare.Config.Ring23MCAddValueMaxLimit);
            SystemShare.Config.Ring23MCAddValueRate = ReadWriteByte("Setup", "Ring23MCAddValueRate", SystemShare.Config.Ring23MCAddValueRate);
            SystemShare.Config.Ring23MCAddRate = ReadWriteByte("Setup", "Ring23MCAddRate", SystemShare.Config.Ring23MCAddRate);
            SystemShare.Config.Ring23SCAddValueMaxLimit = ReadWriteByte("Setup", "Ring23SCAddValueMaxLimit", SystemShare.Config.Ring23SCAddValueMaxLimit);
            SystemShare.Config.Ring23SCAddValueRate = ReadWriteByte("Setup", "Ring23SCAddValueRate", SystemShare.Config.Ring23SCAddValueRate);
            SystemShare.Config.Ring23SCAddRate = ReadWriteByte("Setup", "Ring23SCAddRate", SystemShare.Config.Ring23SCAddRate);
            SystemShare.Config.HelMetDCAddValueMaxLimit = ReadWriteByte("Setup", "HelMetDCAddValueMaxLimit", SystemShare.Config.HelMetDCAddValueMaxLimit);
            SystemShare.Config.HelMetDCAddValueRate = ReadWriteByte("Setup", "HelMetDCAddValueRate", SystemShare.Config.HelMetDCAddValueRate);
            SystemShare.Config.HelMetDCAddRate = ReadWriteByte("Setup", "HelMetDCAddRate", SystemShare.Config.HelMetDCAddRate);
            SystemShare.Config.HelMetMCAddValueMaxLimit = ReadWriteByte("Setup", "HelMetMCAddValueMaxLimit", SystemShare.Config.HelMetMCAddValueMaxLimit);
            SystemShare.Config.HelMetMCAddValueRate = ReadWriteByte("Setup", "HelMetMCAddValueRate", SystemShare.Config.HelMetMCAddValueRate);
            SystemShare.Config.HelMetMCAddRate = ReadWriteByte("Setup", "HelMetMCAddRate", SystemShare.Config.HelMetMCAddRate);
            SystemShare.Config.HelMetSCAddValueMaxLimit = ReadWriteByte("Setup", "HelMetSCAddValueMaxLimit", SystemShare.Config.HelMetSCAddValueMaxLimit);
            SystemShare.Config.HelMetSCAddValueRate = ReadWriteByte("Setup", "HelMetSCAddValueRate", SystemShare.Config.HelMetSCAddValueRate);
            SystemShare.Config.HelMetSCAddRate = ReadWriteByte("Setup", "HelMetSCAddRate", SystemShare.Config.HelMetSCAddRate);
            SystemShare.Config.UnknowHelMetACAddRate = ReadWriteByte("Setup", "UnknowHelMetACAddRate", SystemShare.Config.UnknowHelMetACAddRate);
            SystemShare.Config.UnknowHelMetACAddValueMaxLimit = ReadWriteByte("Setup", "UnknowHelMetACAddValueMaxLimit", SystemShare.Config.UnknowHelMetACAddValueMaxLimit);
            SystemShare.Config.UnknowHelMetMACAddRate = ReadWriteByte("Setup", "UnknowHelMetMACAddRate", SystemShare.Config.UnknowHelMetMACAddRate);
            SystemShare.Config.UnknowHelMetMACAddValueMaxLimit = ReadWriteByte("Setup", "UnknowHelMetMACAddValueMaxLimit", SystemShare.Config.UnknowHelMetMACAddValueMaxLimit);
            SystemShare.Config.UnknowHelMetDCAddRate = ReadWriteByte("Setup", "UnknowHelMetDCAddRate", SystemShare.Config.UnknowHelMetDCAddRate);
            SystemShare.Config.UnknowHelMetDCAddValueMaxLimit = ReadWriteByte("Setup", "UnknowHelMetDCAddValueMaxLimit", SystemShare.Config.UnknowHelMetDCAddValueMaxLimit);
            SystemShare.Config.UnknowHelMetMCAddRate = ReadWriteByte("Setup", "UnknowHelMetMCAddRate", SystemShare.Config.UnknowHelMetMCAddRate);
            SystemShare.Config.UnknowHelMetMCAddValueMaxLimit = ReadWriteByte("Setup", "UnknowHelMetMCAddValueMaxLimit", SystemShare.Config.UnknowHelMetMCAddValueMaxLimit);
            SystemShare.Config.UnknowHelMetSCAddRate = ReadWriteByte("Setup", "UnknowHelMetSCAddRate", SystemShare.Config.UnknowHelMetSCAddRate);
            SystemShare.Config.UnknowHelMetSCAddValueMaxLimit = ReadWriteByte("Setup", "UnknowHelMetSCAddValueMaxLimit", SystemShare.Config.UnknowHelMetSCAddValueMaxLimit);
            SystemShare.Config.UnknowNecklaceACAddRate = ReadWriteByte("Setup", "UnknowNecklaceACAddRate", SystemShare.Config.UnknowNecklaceACAddRate);
            SystemShare.Config.UnknowNecklaceACAddValueMaxLimit = ReadWriteByte("Setup", "UnknowNecklaceACAddValueMaxLimit", SystemShare.Config.UnknowNecklaceACAddValueMaxLimit);
            SystemShare.Config.UnknowNecklaceMACAddRate = ReadWriteByte("Setup", "UnknowNecklaceMACAddRate", SystemShare.Config.UnknowNecklaceMACAddRate);
            SystemShare.Config.UnknowNecklaceMACAddValueMaxLimit = ReadWriteByte("Setup", "UnknowNecklaceMACAddValueMaxLimit", SystemShare.Config.UnknowNecklaceMACAddValueMaxLimit);
            SystemShare.Config.UnknowNecklaceDCAddRate = ReadWriteByte("Setup", "UnknowNecklaceDCAddRate", SystemShare.Config.UnknowNecklaceDCAddRate);
            SystemShare.Config.UnknowNecklaceDCAddValueMaxLimit = ReadWriteByte("Setup", "UnknowNecklaceDCAddValueMaxLimit", SystemShare.Config.UnknowNecklaceDCAddValueMaxLimit);
            SystemShare.Config.UnknowNecklaceMCAddRate = ReadWriteByte("Setup", "UnknowNecklaceMCAddRate", SystemShare.Config.UnknowNecklaceMCAddRate);
            SystemShare.Config.UnknowNecklaceMCAddValueMaxLimit = ReadWriteByte("Setup", "UnknowNecklaceMCAddValueMaxLimit", SystemShare.Config.UnknowNecklaceMCAddValueMaxLimit);
            SystemShare.Config.UnknowNecklaceSCAddRate = ReadWriteByte("Setup", "UnknowNecklaceSCAddRate", SystemShare.Config.UnknowNecklaceSCAddRate);
            SystemShare.Config.UnknowNecklaceSCAddValueMaxLimit = ReadWriteByte("Setup", "UnknowNecklaceSCAddValueMaxLimit", SystemShare.Config.UnknowNecklaceSCAddValueMaxLimit);
            SystemShare.Config.UnknowRingACAddRate = ReadWriteByte("Setup", "UnknowRingACAddRate", SystemShare.Config.UnknowRingACAddRate);
            SystemShare.Config.UnknowRingACAddValueMaxLimit = ReadWriteByte("Setup", "UnknowRingACAddValueMaxLimit", SystemShare.Config.UnknowRingACAddValueMaxLimit);
            SystemShare.Config.UnknowRingMACAddRate = ReadWriteByte("Setup", "UnknowRingMACAddRate", SystemShare.Config.UnknowRingMACAddRate);
            SystemShare.Config.UnknowRingMACAddValueMaxLimit = ReadWriteByte("Setup", "UnknowRingMACAddValueMaxLimit", SystemShare.Config.UnknowRingMACAddValueMaxLimit);
            SystemShare.Config.UnknowRingDCAddRate = ReadWriteByte("Setup", "UnknowRingDCAddRate", SystemShare.Config.UnknowRingDCAddRate);
            SystemShare.Config.UnknowRingDCAddValueMaxLimit = ReadWriteByte("Setup", "UnknowRingDCAddValueMaxLimit", SystemShare.Config.UnknowRingDCAddValueMaxLimit);
            SystemShare.Config.UnknowRingMCAddRate = ReadWriteByte("Setup", "UnknowRingMCAddRate", SystemShare.Config.UnknowRingMCAddRate);
            SystemShare.Config.UnknowRingMCAddValueMaxLimit = ReadWriteByte("Setup", "UnknowRingMCAddValueMaxLimit", SystemShare.Config.UnknowRingMCAddValueMaxLimit);
            SystemShare.Config.UnknowRingSCAddRate = ReadWriteByte("Setup", "UnknowRingSCAddRate", SystemShare.Config.UnknowRingSCAddRate);
            SystemShare.Config.UnknowRingSCAddValueMaxLimit = ReadWriteByte("Setup", "UnknowRingSCAddValueMaxLimit", SystemShare.Config.UnknowRingSCAddValueMaxLimit);
            SystemShare.Config.MonOneDropGoldCount = ReadWriteInteger("Setup", "MonOneDropGoldCount", SystemShare.Config.MonOneDropGoldCount);
            SystemShare.Config.SendCurTickCount = ReadWriteBool("Setup", "SendCurTickCount", SystemShare.Config.SendCurTickCount);
            SystemShare.Config.MakeMineHitRate = ReadWriteInteger("Setup", "MakeMineHitRate", SystemShare.Config.MakeMineHitRate);
            SystemShare.Config.MakeMineRate = ReadWriteInteger("Setup", "MakeMineRate", SystemShare.Config.MakeMineRate);
            SystemShare.Config.StoneTypeRate = ReadWriteInteger("Setup", "StoneTypeRate", SystemShare.Config.StoneTypeRate);
            SystemShare.Config.StoneTypeRateMin = ReadWriteInteger("Setup", "StoneTypeRateMin", SystemShare.Config.StoneTypeRateMin);
            SystemShare.Config.GoldStoneMin = ReadWriteInteger("Setup", "GoldStoneMin", SystemShare.Config.GoldStoneMin);
            SystemShare.Config.GoldStoneMax = ReadWriteInteger("Setup", "GoldStoneMax", SystemShare.Config.GoldStoneMax);
            SystemShare.Config.SilverStoneMin = ReadWriteInteger("Setup", "SilverStoneMin", SystemShare.Config.SilverStoneMin);
            SystemShare.Config.SilverStoneMax = ReadWriteInteger("Setup", "SilverStoneMax", SystemShare.Config.SilverStoneMax);
            SystemShare.Config.SteelStoneMin = ReadWriteInteger("Setup", "SteelStoneMin", SystemShare.Config.SteelStoneMin);
            SystemShare.Config.SteelStoneMax = ReadWriteInteger("Setup", "SteelStoneMax", SystemShare.Config.SteelStoneMax);
            SystemShare.Config.BlackStoneMin = ReadWriteInteger("Setup", "BlackStoneMin", SystemShare.Config.BlackStoneMin);
            SystemShare.Config.BlackStoneMax = ReadWriteInteger("Setup", "BlackStoneMax", SystemShare.Config.BlackStoneMax);
            SystemShare.Config.StoneMinDura = ReadWriteInteger("Setup", "StoneMinDura", SystemShare.Config.StoneMinDura);
            SystemShare.Config.StoneGeneralDuraRate = ReadWriteInteger("Setup", "StoneGeneralDuraRate", SystemShare.Config.StoneGeneralDuraRate);
            SystemShare.Config.StoneAddDuraRate = ReadWriteInteger("Setup", "StoneAddDuraRate", SystemShare.Config.StoneAddDuraRate);
            SystemShare.Config.StoneAddDuraMax = ReadWriteInteger("Setup", "StoneAddDuraMax", SystemShare.Config.StoneAddDuraMax);
            SystemShare.Config.WinLottery1Min = ReadWriteInteger("Setup", "WinLottery1Min", SystemShare.Config.WinLottery1Min);
            SystemShare.Config.WinLottery1Max = ReadWriteInteger("Setup", "WinLottery1Max", SystemShare.Config.WinLottery1Max);
            SystemShare.Config.WinLottery2Min = ReadWriteInteger("Setup", "WinLottery2Min", SystemShare.Config.WinLottery2Min);
            SystemShare.Config.WinLottery2Max = ReadWriteInteger("Setup", "WinLottery2Max", SystemShare.Config.WinLottery2Max);
            SystemShare.Config.WinLottery3Min = ReadWriteInteger("Setup", "WinLottery3Min", SystemShare.Config.WinLottery3Min);
            SystemShare.Config.WinLottery3Max = ReadWriteInteger("Setup", "WinLottery3Max", SystemShare.Config.WinLottery3Max);
            SystemShare.Config.WinLottery4Min = ReadWriteInteger("Setup", "WinLottery4Min", SystemShare.Config.WinLottery4Min);
            SystemShare.Config.WinLottery4Max = ReadWriteInteger("Setup", "WinLottery4Max", SystemShare.Config.WinLottery4Max);
            SystemShare.Config.WinLottery5Min = ReadWriteInteger("Setup", "WinLottery5Min", SystemShare.Config.WinLottery5Min);
            SystemShare.Config.WinLottery5Max = ReadWriteInteger("Setup", "WinLottery5Max", SystemShare.Config.WinLottery5Max);
            SystemShare.Config.WinLottery6Min = ReadWriteInteger("Setup", "WinLottery6Min", SystemShare.Config.WinLottery6Min);
            SystemShare.Config.WinLottery6Max = ReadWriteInteger("Setup", "WinLottery6Max", SystemShare.Config.WinLottery6Max);
            SystemShare.Config.WinLotteryRate = ReadWriteInteger("Setup", "WinLotteryRate", SystemShare.Config.WinLotteryRate);
            SystemShare.Config.WinLottery1Gold = ReadWriteInteger("Setup", "WinLottery1Gold", SystemShare.Config.WinLottery1Gold);
            SystemShare.Config.WinLottery2Gold = ReadWriteInteger("Setup", "WinLottery2Gold", SystemShare.Config.WinLottery2Gold);
            SystemShare.Config.WinLottery3Gold = ReadWriteInteger("Setup", "WinLottery3Gold", SystemShare.Config.WinLottery3Gold);
            SystemShare.Config.WinLottery4Gold = ReadWriteInteger("Setup", "WinLottery4Gold", SystemShare.Config.WinLottery4Gold);
            SystemShare.Config.WinLottery5Gold = ReadWriteInteger("Setup", "WinLottery5Gold", SystemShare.Config.WinLottery5Gold);
            SystemShare.Config.WinLottery6Gold = ReadWriteInteger("Setup", "WinLottery6Gold", SystemShare.Config.WinLottery6Gold);
            SystemShare.Config.GuildRecallTime = ReadWriteInteger("Setup", "GuildRecallTime", SystemShare.Config.GuildRecallTime);
            SystemShare.Config.GroupRecallTime = ReadWriteInt16("Setup", "GroupRecallTime", SystemShare.Config.GroupRecallTime);
            SystemShare.Config.ControlDropItem = ReadWriteBool("Setup", "ControlDropItem", SystemShare.Config.ControlDropItem);
            SystemShare.Config.InSafeDisableDrop = ReadWriteBool("Setup", "InSafeDisableDrop", SystemShare.Config.InSafeDisableDrop);
            SystemShare.Config.CanDropGold = ReadWriteInteger("Setup", "CanDropGold", SystemShare.Config.CanDropGold);
            SystemShare.Config.CanDropPrice = ReadWriteInteger("Setup", "CanDropPrice", SystemShare.Config.CanDropPrice);
            SystemShare.Config.SendCustemMsg = ReadWriteBool("Setup", "SendCustemMsg", SystemShare.Config.SendCustemMsg);
            SystemShare.Config.SubkMasterSendMsg = ReadWriteBool("Setup", "SubkMasterSendMsg", SystemShare.Config.SubkMasterSendMsg);
            SystemShare.Config.SuperRepairPriceRate = ReadWriteInteger("Setup", "SuperRepairPriceRate", SystemShare.Config.SuperRepairPriceRate);
            SystemShare.Config.RepairItemDecDura = ReadWriteInteger("Setup", "RepairItemDecDura", SystemShare.Config.RepairItemDecDura);
            SystemShare.Config.DieScatterBag = ReadWriteBool("Setup", "DieScatterBag", SystemShare.Config.DieScatterBag);
            SystemShare.Config.DieScatterBagRate = ReadWriteInteger("Setup", "DieScatterBagRate", SystemShare.Config.DieScatterBagRate);
            SystemShare.Config.DieRedScatterBagAll = ReadWriteBool("Setup", "DieRedScatterBagAll", SystemShare.Config.DieRedScatterBagAll);
            SystemShare.Config.DieDropUseItemRate = ReadWriteInteger("Setup", "DieDropUseItemRate", SystemShare.Config.DieDropUseItemRate);
            SystemShare.Config.DieRedDropUseItemRate = ReadWriteInteger("Setup", "DieRedDropUseItemRate", SystemShare.Config.DieRedDropUseItemRate);
            SystemShare.Config.DieDropGold = ReadWriteBool("Setup", "DieDropGold", SystemShare.Config.DieDropGold);
            SystemShare.Config.KillByHumanDropUseItem = ReadWriteBool("Setup", "KillByHumanDropUseItem", SystemShare.Config.KillByHumanDropUseItem);
            SystemShare.Config.KillByMonstDropUseItem = ReadWriteBool("Setup", "KillByMonstDropUseItem", SystemShare.Config.KillByMonstDropUseItem);
            SystemShare.Config.KickExpireHuman = ReadWriteBool("Setup", "KickExpireHuman", SystemShare.Config.KickExpireHuman);
            SystemShare.Config.GuildRankNameLen = ReadWriteByte("Setup", "GuildRankNameLen", SystemShare.Config.GuildRankNameLen);
            SystemShare.Config.GuildNameLen = ReadWriteByte("Setup", "GuildNameLen", SystemShare.Config.GuildNameLen);
            SystemShare.Config.GuildMemberMaxLimit = ReadWriteInteger("Setup", "GuildMemberMaxLimit", SystemShare.Config.GuildMemberMaxLimit);
            SystemShare.Config.AttackPosionRate = ReadWriteInteger("Setup", "AttackPosionRate", SystemShare.Config.AttackPosionRate);
            SystemShare.Config.AttackPosionTime = (ushort)ReadWriteInteger("Setup", "AttackPosionTime", SystemShare.Config.AttackPosionTime);
            SystemShare.Config.RevivalTime = ReadWriteInteger("Setup", "RevivalTime", SystemShare.Config.RevivalTime);
            SystemShare.Config.boUserMoveCanDupObj = ReadWriteBool("Setup", "UserMoveCanDupObj", SystemShare.Config.boUserMoveCanDupObj);
            SystemShare.Config.boUserMoveCanOnItem = ReadWriteBool("Setup", "UserMoveCanOnItem", SystemShare.Config.boUserMoveCanOnItem);
            SystemShare.Config.dwUserMoveTime = ReadWriteInteger("Setup", "UserMoveTime", SystemShare.Config.dwUserMoveTime);
            SystemShare.Config.dwPKDieLostExpRate = ReadWriteInteger("Setup", "PKDieLostExpRate", SystemShare.Config.dwPKDieLostExpRate);
            SystemShare.Config.nPKDieLostLevelRate = ReadWriteInteger("Setup", "PKDieLostLevelRate", SystemShare.Config.nPKDieLostLevelRate);
            SystemShare.Config.PKFlagNameColor = ReadWriteByte("Setup", "PKFlagNameColor", SystemShare.Config.PKFlagNameColor);
            SystemShare.Config.AllyAndGuildNameColor = ReadWriteByte("Setup", "AllyAndGuildNameColor", SystemShare.Config.AllyAndGuildNameColor);
            SystemShare.Config.WarGuildNameColor = ReadWriteByte("Setup", "WarGuildNameColor", SystemShare.Config.WarGuildNameColor);
            SystemShare.Config.InFreePKAreaNameColor = ReadWriteByte("Setup", "InFreePKAreaNameColor", SystemShare.Config.InFreePKAreaNameColor);
            SystemShare.Config.PKLevel1NameColor = ReadWriteByte("Setup", "PKLevel1NameColor", SystemShare.Config.PKLevel1NameColor);
            SystemShare.Config.PKLevel2NameColor = ReadWriteByte("Setup", "PKLevel2NameColor", SystemShare.Config.PKLevel2NameColor);
            SystemShare.Config.SpiritMutiny = ReadWriteBool("Setup", "SpiritMutiny", SystemShare.Config.SpiritMutiny);
            SystemShare.Config.SpiritMutinyTime = ReadWriteInteger("Setup", "SpiritMutinyTime", SystemShare.Config.SpiritMutinyTime);
            SystemShare.Config.SpiritPowerRate = ReadWriteInteger("Setup", "SpiritPowerRate", SystemShare.Config.SpiritPowerRate);
            SystemShare.Config.MasterDieMutiny = ReadWriteBool("Setup", "MasterDieMutiny", SystemShare.Config.MasterDieMutiny);
            SystemShare.Config.MasterDieMutinyRate = ReadWriteInteger("Setup", "MasterDieMutinyRate", SystemShare.Config.MasterDieMutinyRate);
            SystemShare.Config.MasterDieMutinyPower = ReadWriteInteger("Setup", "MasterDieMutinyPower", SystemShare.Config.MasterDieMutinyPower);
            SystemShare.Config.MasterDieMutinySpeed = ReadWriteInteger("Setup", "MasterDieMutinyPower", SystemShare.Config.MasterDieMutinySpeed);
            SystemShare.Config.BBMonAutoChangeColor = ReadWriteBool("Setup", "BBMonAutoChangeColor", SystemShare.Config.BBMonAutoChangeColor);
            SystemShare.Config.BBMonAutoChangeColorTime = ReadWriteInteger("Setup", "BBMonAutoChangeColorTime", SystemShare.Config.BBMonAutoChangeColorTime);
            SystemShare.Config.boOldClientShowHiLevel = ReadWriteBool("Setup", "OldClientShowHiLevel", SystemShare.Config.boOldClientShowHiLevel);
            SystemShare.Config.ShowScriptActionMsg = ReadWriteBool("Setup", "ShowScriptActionMsg", SystemShare.Config.ShowScriptActionMsg);
            SystemShare.Config.RunSocketDieLoopLimit = ReadWriteInteger("Setup", "RunSocketDieLoopLimit", SystemShare.Config.RunSocketDieLoopLimit);
            SystemShare.Config.ThreadRun = ReadWriteBool("Setup", "ThreadRun", SystemShare.Config.ThreadRun);
            SystemShare.Config.ShowExceptionMsg = ReadWriteBool("Setup", "ShowExceptionMsg", SystemShare.Config.ShowExceptionMsg);
            SystemShare.Config.ShowPreFixMsg = ReadWriteBool("Setup", "ShowPreFixMsg", SystemShare.Config.ShowPreFixMsg);
            SystemShare.Config.MagTurnUndeadLevel = ReadWriteInteger("Setup", "MagTurnUndeadLevel", SystemShare.Config.MagTurnUndeadLevel);
            SystemShare.Config.MagTammingLevel = ReadWriteInteger("Setup", "MagTammingLevel", SystemShare.Config.MagTammingLevel);
            SystemShare.Config.MagTammingTargetLevel = ReadWriteInteger("Setup", "MagTammingTargetLevel", SystemShare.Config.MagTammingTargetLevel);
            SystemShare.Config.MagTammingHPRate = ReadWriteInteger("Setup", "MagTammingTargetHPRate", SystemShare.Config.MagTammingHPRate);
            SystemShare.Config.MagTammingCount = ReadWriteByte("Setup", "MagTammingCount", SystemShare.Config.MagTammingCount);
            SystemShare.Config.MabMabeHitRandRate = ReadWriteInteger("Setup", "MabMabeHitRandRate", SystemShare.Config.MabMabeHitRandRate);
            SystemShare.Config.MabMabeHitMinLvLimit = ReadWriteInteger("Setup", "MabMabeHitMinLvLimit", SystemShare.Config.MabMabeHitMinLvLimit);
            SystemShare.Config.MabMabeHitSucessRate = ReadWriteInteger("Setup", "MabMabeHitSucessRate", SystemShare.Config.MabMabeHitSucessRate);
            SystemShare.Config.MabMabeHitMabeTimeRate = ReadWriteInteger("Setup", "MabMabeHitMabeTimeRate", SystemShare.Config.MabMabeHitMabeTimeRate);
            SystemShare.Config.MagicAttackRage = ReadWriteByte("Setup", "MagicAttackRage", SystemShare.Config.MagicAttackRage);
            SystemShare.Config.DropItemRage = ReadWriteByte("Setup", "DropItemRage", SystemShare.Config.DropItemRage);
            SystemShare.Config.AmyOunsulPoint = ReadWriteInteger("Setup", "AmyOunsulPoint", SystemShare.Config.AmyOunsulPoint);
            SystemShare.Config.DisableInSafeZoneFireCross = ReadWriteBool("Setup", "DisableInSafeZoneFireCross", SystemShare.Config.DisableInSafeZoneFireCross);
            SystemShare.Config.GroupMbAttackPlayObject = ReadWriteBool("Setup", "GroupMbAttackPlayObject", SystemShare.Config.GroupMbAttackPlayObject);
            SystemShare.Config.PosionDecHealthTime = ReadWriteInteger("Setup", "PosionDecHealthTime", SystemShare.Config.PosionDecHealthTime);
            SystemShare.Config.PosionDamagarmor = ReadWriteInteger("Setup", "PosionDamagarmor", SystemShare.Config.PosionDamagarmor);
            SystemShare.Config.LimitSwordLong = ReadWriteBool("Setup", "LimitSwordLong", SystemShare.Config.LimitSwordLong);
            SystemShare.Config.SwordLongPowerRate = ReadWriteInteger("Setup", "SwordLongPowerRate", SystemShare.Config.SwordLongPowerRate);
            SystemShare.Config.FireBoomRage = ReadWriteByte("Setup", "FireBoomRage", SystemShare.Config.FireBoomRage);
            SystemShare.Config.SnowWindRange = ReadWriteByte("Setup", "SnowWindRange", SystemShare.Config.SnowWindRange);
            SystemShare.Config.ElecBlizzardRange = ReadWriteByte("Setup", "ElecBlizzardRange", SystemShare.Config.ElecBlizzardRange);
            SystemShare.Config.HumanLevelDiffer = ReadWriteInteger("Setup", "HumanLevelDiffer", SystemShare.Config.HumanLevelDiffer);
            SystemShare.Config.IsKillHumanWinLevel = ReadWriteBool("Setup", "KillHumanWinLevel", SystemShare.Config.IsKillHumanWinLevel);
            SystemShare.Config.IsKilledLostLevel = ReadWriteBool("Setup", "KilledLostLevel", SystemShare.Config.IsKilledLostLevel);
            SystemShare.Config.KillHumanWinLevel = ReadWriteInteger("Setup", "KillHumanWinLevelPoint", SystemShare.Config.KillHumanWinLevel);
            SystemShare.Config.KilledLostLevel = ReadWriteInteger("Setup", "KilledLostLevelPoint", SystemShare.Config.KilledLostLevel);
            SystemShare.Config.IsKillHumanWinExp = ReadWriteBool("Setup", "KillHumanWinExp", SystemShare.Config.IsKillHumanWinExp);
            SystemShare.Config.IsKilledLostExp = ReadWriteBool("Setup", "KilledLostExp", SystemShare.Config.IsKilledLostExp);
            SystemShare.Config.KillHumanWinExp = ReadWriteInteger("Setup", "KillHumanWinExpPoint", SystemShare.Config.KillHumanWinExp);
            SystemShare.Config.KillHumanLostExp = ReadWriteInteger("Setup", "KillHumanLostExpPoint", SystemShare.Config.KillHumanLostExp);
            SystemShare.Config.MonsterPowerRate = ReadWriteInteger("Setup", "MonsterPowerRate", SystemShare.Config.MonsterPowerRate);
            SystemShare.Config.ItemsPowerRate = ReadWriteInteger("Setup", "ItemsPowerRate", SystemShare.Config.ItemsPowerRate);
            SystemShare.Config.ItemsACPowerRate = ReadWriteInteger("Setup", "ItemsACPowerRate", SystemShare.Config.ItemsACPowerRate);
            SystemShare.Config.SendOnlineCount = ReadWriteBool("Setup", "SendOnlineCount", SystemShare.Config.SendOnlineCount);
            SystemShare.Config.SendOnlineCountRate = ReadWriteInteger("Setup", "SendOnlineCountRate", SystemShare.Config.SendOnlineCountRate);
            SystemShare.Config.SendOnlineTime = ReadWriteInteger("Setup", "SendOnlineTime", SystemShare.Config.SendOnlineTime);
            SystemShare.Config.SaveHumanRcdTime = ReadWriteInteger("Setup", "SaveHumanRcdTime", SystemShare.Config.SaveHumanRcdTime);
            SystemShare.Config.MakeGhostTime = ReadWriteInteger("Setup", "MakeGhostTime", SystemShare.Config.MakeGhostTime);
            SystemShare.Config.ClearDropOnFloorItemTime = ReadWriteInteger("Setup", "ClearDropOnFloorItemTime", SystemShare.Config.ClearDropOnFloorItemTime);
            SystemShare.Config.FloorItemCanPickUpTime = ReadWriteInteger("Setup", "FloorItemCanPickUpTime", SystemShare.Config.FloorItemCanPickUpTime);
            SystemShare.Config.PasswordLockSystem = ReadWriteBool("Setup", "PasswordLockSystem", SystemShare.Config.PasswordLockSystem);
            SystemShare.Config.LockDealAction = ReadWriteBool("Setup", "PasswordLockDealAction", SystemShare.Config.LockDealAction);
            SystemShare.Config.LockDropAction = ReadWriteBool("Setup", "PasswordLockDropAction", SystemShare.Config.LockDropAction);
            SystemShare.Config.LockGetBackItemAction = ReadWriteBool("Setup", "PasswordLockGetBackItemAction", SystemShare.Config.LockGetBackItemAction);
            SystemShare.Config.LockHumanLogin = ReadWriteBool("Setup", "PasswordLockHumanLogin", SystemShare.Config.LockHumanLogin);
            SystemShare.Config.LockWalkAction = ReadWriteBool("Setup", "PasswordLockWalkAction", SystemShare.Config.LockWalkAction);
            SystemShare.Config.LockRunAction = ReadWriteBool("Setup", "PasswordLockRunAction", SystemShare.Config.LockRunAction);
            SystemShare.Config.LockHitAction = ReadWriteBool("Setup", "PasswordLockHitAction", SystemShare.Config.LockHitAction);
            SystemShare.Config.LockSpellAction = ReadWriteBool("Setup", "PasswordLockSpellAction", SystemShare.Config.LockSpellAction);
            SystemShare.Config.LockSendMsgAction = ReadWriteBool("Setup", "PasswordLockSendMsgAction", SystemShare.Config.LockSendMsgAction);
            SystemShare.Config.LockUserItemAction = ReadWriteBool("Setup", "PasswordLockUserItemAction", SystemShare.Config.LockUserItemAction);
            SystemShare.Config.LockInObModeAction = ReadWriteBool("Setup", "PasswordLockInObModeAction", SystemShare.Config.LockInObModeAction);
            SystemShare.Config.PasswordErrorKick = ReadWriteBool("Setup", "PasswordErrorKick", SystemShare.Config.PasswordErrorKick);
            SystemShare.Config.PasswordErrorCountLock = ReadWriteInteger("Setup", "PasswordErrorCountLock", SystemShare.Config.PasswordErrorCountLock);
            SystemShare.Config.SoftVersionDate = ReadWriteInteger("Setup", "SoftVersionDate", SystemShare.Config.SoftVersionDate);
            SystemShare.Config.CanOldClientLogon = ReadWriteBool("Setup", "CanOldClientLogon", SystemShare.Config.CanOldClientLogon);
            SystemShare.Config.ConsoleShowUserCountTime = ReadWriteInteger("Setup", "ConsoleShowUserCountTime", SystemShare.Config.ConsoleShowUserCountTime);
            SystemShare.Config.ShowLineNoticeTime = ReadWriteInteger("Setup", "ShowLineNoticeTime", SystemShare.Config.ShowLineNoticeTime);
            SystemShare.Config.LineNoticeColor = ReadWriteByte("Setup", "LineNoticeColor", SystemShare.Config.LineNoticeColor);
            SystemShare.Config.MaxHitMsgCount = ReadWriteByte("Setup", "MaxHitMsgCount", SystemShare.Config.MaxHitMsgCount);
            SystemShare.Config.MaxSpellMsgCount = ReadWriteByte("Setup", "MaxSpellMsgCount", SystemShare.Config.MaxSpellMsgCount);
            SystemShare.Config.MaxRunMsgCount = ReadWriteByte("Setup", "MaxRunMsgCount", SystemShare.Config.MaxRunMsgCount);
            SystemShare.Config.MaxWalkMsgCount = ReadWriteByte("Setup", "MaxWalkMsgCount", SystemShare.Config.MaxWalkMsgCount);
            SystemShare.Config.MaxTurnMsgCount = ReadWriteByte("Setup", "MaxTurnMsgCount", SystemShare.Config.MaxTurnMsgCount);
            SystemShare.Config.MaxSitDonwMsgCount = ReadWriteByte("Setup", "MaxSitDonwMsgCount", SystemShare.Config.MaxSitDonwMsgCount);
            SystemShare.Config.MaxDigUpMsgCount = ReadWriteByte("Setup", "MaxDigUpMsgCount", SystemShare.Config.MaxDigUpMsgCount);
            SystemShare.Config.SpellSendUpdateMsg = ReadWriteBool("Setup", "SpellSendUpdateMsg", SystemShare.Config.SpellSendUpdateMsg);
            SystemShare.Config.ActionSendActionMsg = ReadWriteBool("Setup", "ActionSendActionMsg", SystemShare.Config.ActionSendActionMsg);
            SystemShare.Config.OverSpeedKickCount = ReadWriteByte("Setup", "OverSpeedKickCount", SystemShare.Config.OverSpeedKickCount);
            SystemShare.Config.DropOverSpeed = ReadWriteByte("Setup", "DropOverSpeed", SystemShare.Config.DropOverSpeed);
            SystemShare.Config.KickOverSpeed = ReadWriteBool("Setup", "KickOverSpeed", SystemShare.Config.KickOverSpeed);
            SystemShare.Config.SpeedControlMode = ReadWriteInteger("Setup", "SpeedControlMode", SystemShare.Config.SpeedControlMode);
            SystemShare.Config.HitIntervalTime = ReadWriteInteger("Setup", "HitIntervalTime", SystemShare.Config.HitIntervalTime);
            SystemShare.Config.MagicHitIntervalTime = ReadWriteInteger("Setup", "MagicHitIntervalTime", SystemShare.Config.MagicHitIntervalTime);
            SystemShare.Config.RunIntervalTime = ReadWriteInteger("Setup", "RunIntervalTime", SystemShare.Config.RunIntervalTime);
            SystemShare.Config.WalkIntervalTime = ReadWriteInteger("Setup", "WalkIntervalTime", SystemShare.Config.WalkIntervalTime);
            SystemShare.Config.TurnIntervalTime = ReadWriteInteger("Setup", "TurnIntervalTime", SystemShare.Config.TurnIntervalTime);
            SystemShare.Config.boControlActionInterval = ReadWriteBool("Setup", "ControlActionInterval", SystemShare.Config.boControlActionInterval);
            SystemShare.Config.boControlWalkHit = ReadWriteBool("Setup", "ControlWalkHit", SystemShare.Config.boControlWalkHit);
            SystemShare.Config.boControlRunLongHit = ReadWriteBool("Setup", "ControlRunLongHit", SystemShare.Config.boControlRunLongHit);
            SystemShare.Config.boControlRunHit = ReadWriteBool("Setup", "ControlRunHit", SystemShare.Config.boControlRunHit);
            SystemShare.Config.boControlRunMagic = ReadWriteBool("Setup", "ControlRunMagic", SystemShare.Config.boControlRunMagic);
            SystemShare.Config.ActionIntervalTime = ReadWriteInteger("Setup", "ActionIntervalTime", SystemShare.Config.ActionIntervalTime);
            SystemShare.Config.RunLongHitIntervalTime = ReadWriteInteger("Setup", "RunLongHitIntervalTime", SystemShare.Config.RunLongHitIntervalTime);
            SystemShare.Config.RunHitIntervalTime = ReadWriteInteger("Setup", "RunHitIntervalTime", SystemShare.Config.RunHitIntervalTime);
            SystemShare.Config.WalkHitIntervalTime = ReadWriteInteger("Setup", "WalkHitIntervalTime", SystemShare.Config.WalkHitIntervalTime);
            SystemShare.Config.RunMagicIntervalTime = ReadWriteInteger("Setup", "RunMagicIntervalTime", SystemShare.Config.RunMagicIntervalTime);
            SystemShare.Config.DisableStruck = ReadWriteBool("Setup", "DisableStruck", SystemShare.Config.DisableStruck);
            SystemShare.Config.DisableSelfStruck = ReadWriteBool("Setup", "DisableSelfStruck", SystemShare.Config.DisableSelfStruck);
            SystemShare.Config.StruckTime = ReadWriteInteger("Setup", "StruckTime", SystemShare.Config.StruckTime);
            SystemShare.Config.AddUserItemNewValue = ReadWriteBool("Setup", "AddUserItemNewValue", SystemShare.Config.AddUserItemNewValue);
            SystemShare.Config.TestSpeedMode = ReadWriteBool("Setup", "TestSpeedMode", SystemShare.Config.TestSpeedMode);
            SystemShare.Config.WeaponMakeUnLuckRate = ReadWriteInteger("Setup", "WeaponMakeUnLuckRate", SystemShare.Config.WeaponMakeUnLuckRate);
            SystemShare.Config.WeaponMakeLuckPoint1 = ReadWriteInteger("Setup", "WeaponMakeLuckPoint1", SystemShare.Config.WeaponMakeLuckPoint1);
            SystemShare.Config.WeaponMakeLuckPoint2 = ReadWriteInteger("Setup", "WeaponMakeLuckPoint2", SystemShare.Config.WeaponMakeLuckPoint2);
            SystemShare.Config.WeaponMakeLuckPoint3 = ReadWriteInteger("Setup", "WeaponMakeLuckPoint3", SystemShare.Config.WeaponMakeLuckPoint3);
            SystemShare.Config.WeaponMakeLuckPoint2Rate = ReadWriteInteger("Setup", "WeaponMakeLuckPoint2Rate", SystemShare.Config.WeaponMakeLuckPoint2Rate);
            SystemShare.Config.WeaponMakeLuckPoint3Rate = ReadWriteInteger("Setup", "WeaponMakeLuckPoint3Rate", SystemShare.Config.WeaponMakeLuckPoint3Rate);
            SystemShare.Config.CheckUserItemPlace = ReadWriteBool("Setup", "CheckUserItemPlace", SystemShare.Config.CheckUserItemPlace);
            SystemShare.Config.nLevelValueOfTaosHP = ReadWriteInteger("Setup", "LevelValueOfTaosHP", SystemShare.Config.nLevelValueOfTaosHP);
            SystemShare.Config.nLevelValueOfTaosHPRate = ReadWriteFloat("Setup", "LevelValueOfTaosHPRate", SystemShare.Config.nLevelValueOfTaosHPRate);
            SystemShare.Config.nLevelValueOfTaosMP = ReadWriteInteger("Setup", "LevelValueOfTaosMP", SystemShare.Config.nLevelValueOfTaosMP);
            SystemShare.Config.nLevelValueOfWizardHP = ReadWriteInteger("Setup", "LevelValueOfWizardHP", SystemShare.Config.nLevelValueOfWizardHP);
            SystemShare.Config.nLevelValueOfWizardHPRate = ReadWriteFloat("Setup", "LevelValueOfWizardHPRate", SystemShare.Config.nLevelValueOfWizardHPRate);
            SystemShare.Config.nLevelValueOfWarrHP = ReadWriteInteger("Setup", "LevelValueOfWarrHP", SystemShare.Config.nLevelValueOfWarrHP);
            SystemShare.Config.nLevelValueOfWarrHPRate = ReadWriteFloat("Setup", "LevelValueOfWarrHPRate", SystemShare.Config.nLevelValueOfWarrHPRate);
            SystemShare.Config.ProcessMonsterInterval = ReadWriteInteger("Setup", "ProcessMonsterInterval", SystemShare.Config.ProcessMonsterInterval);
            SystemShare.Config.ProcessMonsterMultiThreadLimit = ReadWriteByte("Setup", "ProcessMonsterMultiThreadLimit", SystemShare.Config.ProcessMonsterMultiThreadLimit);
            SystemShare.Config.StartCastleWarDays = ReadWriteByte("Setup", "StartCastleWarDays", SystemShare.Config.StartCastleWarDays);
            SystemShare.Config.StartCastlewarTime = ReadWriteInteger("Setup", "StartCastlewarTime", SystemShare.Config.StartCastlewarTime);
            SystemShare.Config.ShowCastleWarEndMsgTime = ReadWriteInteger("Setup", "ShowCastleWarEndMsgTime", SystemShare.Config.ShowCastleWarEndMsgTime);
            SystemShare.Config.ClickNpcTime = ReadWriteInteger("Server", "ClickNPCTime", SystemShare.Config.ClickNpcTime);
            SystemShare.Config.CastleWarTime = ReadWriteInteger("Setup", "CastleWarTime", SystemShare.Config.CastleWarTime);
            SystemShare.Config.GetCastleTime = ReadWriteInteger("Setup", "GetCastleTime", SystemShare.Config.GetCastleTime);
            SystemShare.Config.GuildWarTime = ReadWriteInteger("Setup", "GuildWarTime", SystemShare.Config.GuildWarTime);
            SystemShare.Config.WinLotteryCount = ReadWriteInteger("Setup", "WinLotteryCount", SystemShare.Config.WinLotteryCount);
            SystemShare.Config.NoWinLotteryCount = ReadWriteInteger("Setup", "NoWinLotteryCount", SystemShare.Config.NoWinLotteryCount);
            SystemShare.Config.WinLotteryLevel1 = ReadWriteInteger("Setup", "WinLotteryLevel1", SystemShare.Config.WinLotteryLevel1);
            SystemShare.Config.WinLotteryLevel2 = ReadWriteInteger("Setup", "WinLotteryLevel2", SystemShare.Config.WinLotteryLevel2);
            SystemShare.Config.WinLotteryLevel3 = ReadWriteInteger("Setup", "WinLotteryLevel3", SystemShare.Config.WinLotteryLevel3);
            SystemShare.Config.WinLotteryLevel4 = ReadWriteInteger("Setup", "WinLotteryLevel4", SystemShare.Config.WinLotteryLevel4);
            SystemShare.Config.WinLotteryLevel5 = ReadWriteInteger("Setup", "WinLotteryLevel5", SystemShare.Config.WinLotteryLevel5);
            SystemShare.Config.WinLotteryLevel6 = ReadWriteInteger("Setup", "WinLotteryLevel6", SystemShare.Config.WinLotteryLevel6);
            // 气血石开始
            SystemShare.Config.HPStoneStartRate = ReadWriteByte("Setup", "HPStoneStartRate", SystemShare.Config.HPStoneStartRate);
            SystemShare.Config.MPStoneStartRate = ReadWriteByte("Setup", "MPStoneStartRate", SystemShare.Config.MPStoneStartRate);
            SystemShare.Config.HPStoneIntervalTime = ReadWriteInteger("Setup", "HPStoneIntervalTime", SystemShare.Config.HPStoneIntervalTime);
            SystemShare.Config.MpStoneIntervalTime = ReadWriteInteger("Setup", "MPStoneIntervalTime", SystemShare.Config.MpStoneIntervalTime);
            SystemShare.Config.HPStoneAddRate = ReadWriteByte("Setup", "HPStoneAddRate", SystemShare.Config.HPStoneAddRate);
            SystemShare.Config.MPStoneAddRate = ReadWriteByte("Setup", "MPStoneAddRate", SystemShare.Config.MPStoneAddRate);
            SystemShare.Config.HPStoneDecDura = ReadWriteInteger("Setup", "HPStoneDecDura", SystemShare.Config.HPStoneDecDura);
            SystemShare.Config.MPStoneDecDura = ReadWriteInteger("Setup", "MPStoneDecDura", SystemShare.Config.MPStoneDecDura);
            // 气血石结束
        }

        /// <summary>
        /// 保存游戏变量和彩票中奖数据
        /// </summary>
        public void SaveVariable()
        {
            WriteInteger("Setup", "ItemNumber", SystemShare.Config.ItemNumber);
            WriteInteger("Setup", "ItemNumberEx", SystemShare.Config.ItemNumberEx);
            WriteInteger("Setup", "WinLotteryCount", SystemShare.Config.WinLotteryCount);
            WriteInteger("Setup", "NoWinLotteryCount", SystemShare.Config.NoWinLotteryCount);
            WriteInteger("Setup", "WinLotteryLevel1", SystemShare.Config.WinLotteryLevel1);
            WriteInteger("Setup", "WinLotteryLevel2", SystemShare.Config.WinLotteryLevel2);
            WriteInteger("Setup", "WinLotteryLevel3", SystemShare.Config.WinLotteryLevel3);
            WriteInteger("Setup", "WinLotteryLevel4", SystemShare.Config.WinLotteryLevel4);
            WriteInteger("Setup", "WinLotteryLevel5", SystemShare.Config.WinLotteryLevel5);
            WriteInteger("Setup", "WinLotteryLevel6", SystemShare.Config.WinLotteryLevel6);
        }
    }
}